Maven使用教程
第一个Maven项目
必须遵守Maven的约定:
–src/main/java ——存放项目的.java文件
–src/main/resources ——存放项目资源文件,如spring, hibernate配置文件
–src/test/java ——存放所有测试.java文件,如JUnit测试类
–src/test/resources —— 测试资源文件
–target —— 项目输出位置
–pom.xml
第一个Maven项目步骤:
第一步:首先建立Hello项目同时建立Maven约定的目录结构
Hello –src ------main ---------java ---------resources ------test ---------java ---------resources –pom. xml
第二步:在项目Hello根目录建立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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>cn.rjxy.maven</groupId>
<artifactId>Hello</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>Hello</name>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.9</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
第三步:在Hello/src/main/java/cn/rjxy/maven目录下新建Hello.java
package cn.rjxy.maven;
public class Hello{
public String sayHello(String name){
return "Hello " + name + "!";
}
}
第四步:在/Hello/src/test/java/cn/rjxy/maven目录下新建HelloTest.java
package cn.rjxy.maven;
import org.junit.Test;
import static junit.framework.Assert.*;
public class HelloTest{
@Test
public void testHello(){
Hello hello = new Hello();
String results = hello.sayHello("limao");
assertEquals("Hello limao!",results);
}
}
第五步:cmd命令窗口执行命名
- 打开cmd命令行,进入Hello项目根目录执行mvn compile(编译)命令,查看根目录变化
生成了target目录
- cmd中继续录入mvn clean命令再次查看根目录变化
将根目录下生成的target文件移除
- cmd中输入mvn clean compile命令查看根目录变化
执行顺序:
1、使用清理插件:maven-clean-plugin:2.5执行清理删除已有target目录(版本2.5)
2、使用资源插件:maven-resources-plugin:2.6执行资源文件的复制等(版本2.6)
3、使用编译插件:maven-compiler-plugin:3.1编译所有源文件生成class文件至target\classes目录下(版本3.1)
4、整个编译过程完成。
- cmd中输入mvn clean test命令查看根目录变化
clean表明将你上一次编译生成的一些文件删去,test表明只履行测验代码
- cmd中输入mvn clean package命令,查看根目录变化
执行顺序:
1、使用清理插件:maven-clean-plugin:2.5执行清理删除已有target目录(版本2.5)
2、使用资源插件:maven-resources-plugin:2.6执行资源文件的处理(版本2.6)
3、使用编译插件:maven-compiler-plugin:3.1编译所有源文件生成class文件至target\classes目录下(版本3.1)
4、使用资源插件:maven-resources-plugin:2.6执行测试资源文件的处理(版本2.6)
5、使用编译插件:maven-compiler-plugin:3.1编译测试目录下的所有源代码(版本3.1)
6、使用插件:maven-surefire-plugin:2.12运行测试用例(版本2.12)
7、使用插件:maven-jar-plugin:2.4对编译后生成的文件进行打包,包名称默认为:artifactId-version,比如本例生成的jar文件:Hello-0.0.1-SNAPSHOT.jar,包文件保存在target目录下(这个生成的包不能在命令行中直接执行,因为我们还没有入口类配置到资源配置文件中去,后续会阐述)。
第二个Maven项目
第六步:建立HelloFriend项目同时建立Maven约定的目录结构
HelloFriend –src ------main ---------java ---------resources ------test ---------java ---------resources –pom. xml
第七步:在项目HlloFriend根目录建立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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>cn.rjxy.maven</groupId>
<artifactId>HelloFriend</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>HelloFriend</name>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.9</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>cn.rjxy.maven</groupId>
<artifactId>Hello</artifactId>
<version>0.0.1-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>
第八步:在/HelloFriend/src/main/java/cn/rjxy/maven目录下新建HelloFriend.java
package cn.rjxy.maven;
public class HelloFriend {
public String sayHelloFriend(String name){
Hello hello = new Hello ();
String str = hello.sayHello(name) + " I am " + this.getMyName();
System.out.println(str);
return str;
}
public String getMyName(){
return "Zsr";
}
}
第九步:在/HelloFriend/src/test/java/cn/rjxy/maven目录下新建HelloFriendTest.java
package cn.rjxy.maven;
import org.junit.Test;
import static junit.framework.Assert.*;
public class HelloFriendTest{
@Test
public void testHelloFriend(){
HelloFriend helloFriend = new HelloFriend();
String results = helloFriend.sayHelloFriend("Zsr");
assertEquals("Hello Zsr! I am Zsr",results);
}
}
第十步:在HelloFriend目录下执行mvn package
我这里没有出现问题,如果说系统报错出现说没有找到依赖。就需要重新构建Hello项目并安装到数据仓库,在命令行Hello的根目录下执行mvn clean install。之后再HelloFriend目录下执行命令mvn package就会出现我的这个界面了。
|