maven项目配置
maven项目的配置
手动创建maven项目
main/java下新建com.wjl.Demo.java
package com.wjl;
public class Demo{
public String say(String name){
System.out.println("Hello"+name);
return "Hello"+name;
}
}
同理test/java下新建com.wjl.DemoTest.java
package com.wjl;
import org.junit.Test;
import org.junit.Assert;
public class DemoTest{
@Test
public void testSay(){
Demo d = new Demo();
String ret = d.say("maven");
Assert.assertEquals("Hellomaven",ret);
}
}
scr同级目录下新建pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.wjl</groupId>
<artifactId>project</artifactId>
<version>1.0</version>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
maven项目构建
命令 | 解释 |
---|---|
mvn compile | 编译 |
mvn clean | 清理 |
mvn test | 测试 |
mvn package | 打包 |
mvn install | 安装到本地仓库 |
切换到src同级目录下执行mvn compile
再次执行
项目目录如下
执行mvn clean清理
再次执行
做测试 mvn test
测试报告
xml内容
<?xml version="1.0" encoding="UTF-8"?>
<testsuite xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report-3.0.xsd" version="3.0" name="com.wjl.DemoTest" time="0.062" tests="1" errors="0" skipped="0" failures="0">
<properties>
<property name="sun.desktop" value="windows"/>
<property name="awt.toolkit" value="sun.awt.windows.WToolkit"/>
<property name="file.encoding.pkg" value="sun.io"/>
<property name="java.specification.version" value="1.8"/>
<property name="sun.cpu.isalist" value="amd64"/>
<property name="sun.jnu.encoding" value="GBK"/>
<property name="java.class.path" value="C:\Users\wujialiang\Desktop\javastu\ch01\java-project\target\test-classes;C:\Users\wujialiang\Desktop\javastu\ch01\java-project\target\classes;C:\apache-maven-3.9.0\repository\junit\junit\4.12\junit-4.12.jar;C:\apache-maven-3.9.0\repository\org\hamcrest\hamcrest-core\1.3\hamcrest-core-1.3.jar;"/>
<property name="java.vm.vendor" value="Oracle Corporation"/>
<property name="sun.arch.data.model" value="64"/>
<property name="user.variant" value=""/>
<property name="java.vendor.url" value="http://java.oracle.com/"/>
<property name="user.timezone" value="Asia/Shanghai"/>
<property name="java.vm.specification.version" value="1.8"/>
<property name="os.name" value="Windows 11"/>
<property name="user.country" value="CN"/>
<property name="sun.java.launcher" value="SUN_STANDARD"/>
<property name="sun.boot.library.path" value="C:\Program Files\Java\jdk1.8.0_361\jre\bin"/>
<property name="sun.java.command" value="C:\Users\wujialiang\AppData\Local\Temp\surefire8688315262417152082\surefirebooter-20230306224504909_3.jar C:\Users\wujialiang\AppData\Local\Temp\surefire8688315262417152082 2023-03-06T22-45-04_596-jvmRun1 surefire-20230306224504909_1tmp surefire_0-20230306224504909_2tmp"/>
<property name="surefire.test.class.path" value="C:\Users\wujialiang\Desktop\javastu\ch01\java-project\target\test-classes;C:\Users\wujialiang\Desktop\javastu\ch01\java-project\target\classes;C:\apache-maven-3.9.0\repository\junit\junit\4.12\junit-4.12.jar;C:\apache-maven-3.9.0\repository\org\hamcrest\hamcrest-core\1.3\hamcrest-core-1.3.jar;"/>
<property name="sun.cpu.endian" value="little"/>
<property name="user.home" value="C:\Users\wujialiang"/>
<property name="user.language" value="zh"/>
<property name="java.specification.vendor" value="Oracle Corporation"/>
<property name="java.home" value="C:\Program Files\Java\jdk1.8.0_361\jre"/>
<property name="basedir" value="C:\Users\wujialiang\Desktop\javastu\ch01\java-project"/>
<property name="file.separator" value="\"/>
<property name="line.separator" value=" "/>
<property name="java.vm.specification.vendor" value="Oracle Corporation"/>
<property name="java.specification.name" value="Java Platform API Specification"/>
<property name="java.awt.graphicsenv" value="sun.awt.Win32GraphicsEnvironment"/>
<property name="surefire.real.class.path" value="C:\Users\wujialiang\AppData\Local\Temp\surefire8688315262417152082\surefirebooter-20230306224504909_3.jar"/>
<property name="sun.boot.class.path" value="C:\Program Files\Java\jdk1.8.0_361\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\rt.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_361\jre\classes"/>
<property name="user.script" value=""/>
<property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
<property name="java.runtime.version" value="1.8.0_361-b09"/>
<property name="user.name" value="wujialiang"/>
<property name="path.separator" value=";"/>
<property name="os.version" value="10.0"/>
<property name="java.endorsed.dirs" value="C:\Program Files\Java\jdk1.8.0_361\jre\lib\endorsed"/>
<property name="java.runtime.name" value="Java(TM) SE Runtime Environment"/>
<property name="file.encoding" value="GBK"/>
<property name="java.vm.name" value="Java HotSpot(TM) 64-Bit Server VM"/>
<property name="localRepository" value="C:\apache-maven-3.9.0\repository"/>
<property name="java.vendor.url.bug" value="http://bugreport.sun.com/bugreport/"/>
<property name="java.io.tmpdir" value="C:\Users\WUJIAL~1\AppData\Local\Temp\"/>
<property name="java.version" value="1.8.0_361"/>
<property name="user.dir" value="C:\Users\wujialiang\Desktop\javastu\ch01\java-project"/>
<property name="os.arch" value="amd64"/>
<property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
<property name="java.awt.printerjob" value="sun.awt.windows.WPrinterJob"/>
<property name="sun.os.patch.level" value=""/>
<property name="java.library.path" value="C:\Program Files\Java\jdk1.8.0_361\jre\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\Java\jdk1.8.0_361\bin;C:\apache-maven-3.9.0\bin;C:\Program Files\Git\cmd;C:\Users\wujialiang\AppData\Local\Microsoft\WindowsApps;."/>
<property name="java.vm.info" value="mixed mode"/>
<property name="java.vendor" value="Oracle Corporation"/>
<property name="java.vm.version" value="25.361-b09"/>
<property name="java.specification.maintenance.version" value="4"/>
<property name="java.ext.dirs" value="C:\Program Files\Java\jdk1.8.0_361\jre\lib\ext;C:\Windows\Sun\Java\lib\ext"/>
<property name="sun.io.unicode.encoding" value="UnicodeLittle"/>
<property name="java.class.version" value="52.0"/>
</properties>
<testcase name="testSay" classname="com.wjl.DemoTest" time="0">
<system-out><![CDATA[Hellomaven
]]></system-out>
</testcase>
</testsuite>
打包mvn package
进入到maven仓库
切换到src同级目录下执行mvn install
插件创建工程
mvn archetype:generate
-DgroupId={project-packaging}
-DartifactId={project-name}
# 模板名称
-DarchetypeArtifactId=maven-archetype-quickstart
-DinteractiveMode=false
-Dversion={version}
快速创建项目
mvn archetype:generate -DgroupId=com.wjl -DartifactId=maven-project -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false -Dversion=1.0.0
打开pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.wjl</groupId>
<artifactId>maven-project</artifactId>
<packaging>jar</packaging>
<version>1.0.0</version>
<name>maven-project</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
创建web项目
mvn archetype:generate -DgroupId=com.wjl -DartifactId=web-project -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false -Dversion=1.0.0
web程序是打war包
可以自己添加java项目
web项目比普通项目多了一个webapp文件夹