maven --构建项目过程
一、创建maven项目
1.1、创建helloworld项目,
Hello
| --src
| -----main
| ----------java
| ----------resources
| -----test
| ---------java
| ---------resources
| --pom.xml
(1)、编辑项目hello根目录下的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.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>me.lzj.maven</groupId> <artifactId>hello</artifactId> <version>1.0-SNAPSHOT</version> <!--添加依赖的jar包--> <dependencies> <!--项目要使用到junit的jar包,所以在这里添加junit的jar包的依赖--> <!-- https://mvnrepository.com/artifact/junit/junit --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> </dependencies> </project>
(2)、在src/main/java/me/lzj/maven下新建Hello.java 文件与HelloTest.java文件
(3)Hello.java:
package me.lzj.maven; /** * @author LZJ * @create 2018-04-19 11:50 **/ public class Hello { public String sayHello(String name){ return "Hello " + name + "!"; } }
(4)HelloTest.java:
package me.lzj.maven; import org.junit.Test; /** * @author LZJ * @create 2018-04-19 11:52 **/ public class HelloTest { @Test public void testHello(){ Hello hello = new Hello(); String sayHello = hello.sayHello("LZJ"); System.out.println("hello LZJ!" + sayHello); } }
1.2、使用maven编译、清理、测试、打包项目
(1)maven 编译项目,windows打开cmd , mac打开控制台,
进入hello项目的根目录,window执行maven compile,mac执行mvn compile,用来编译项目的java类,
编译成功后,发现项目内多了target文件夹,这个文件夹就是maven帮助我们生成的文件夹,打开target,可以看到有一个classes文件夹,classes文件夹存放的就是我们编译好的java类,如下图:
以上就是使用maven自动编译项目的过程。。
(2)、使用maven清理项目,命令:mvn clean
依旧是在项目根目录执行此命令,作用是把执行mvn compile命令生成的target文件夹删除,执行成功后,项目结构如下:
(3)、maven测试项目,命令:mvn test
在根目录执行mvn test,执行成功后,项目生成了target文件夹,并且target文件夹内除了有classes文件夹外,
还多了个testCompile文件夹,如下图:
既然多出了testCompile文件夹,maven先帮我们编译项目,再执行测试代码!
(4)maven打包项目,命令:mvn package,
执行成功后,发现在项目的target目录下有一个target/hello-1.0-SNAPSHOT.jar。
这个jar就是maven帮助我们生成的jar,如下图:
(5)maven部署项目,命令:maven install
在项目根目录执行 maven install,
执行成功后,发现在target目录下和maven package一样,也有一个hello-1.0-SNAPSHOT.jar,
同时,在我们存放从maven下载的jar的maven仓库中也有这个jar,
由此可见,maven install的过程就是,把项目进行【清理】→【编译】→【测试】→【打包】,
再把打包好的jar放到我们指定的存放jar包的Maven仓库中,如下图所示:
所以,一般mvn install用的比较多,因为它做的事情也比较多!。。。。
1.3、组合使用maven命令
mvn clean compile、mvn clean install、mvn clean test、mvn clean install
二、在别的项目中使用maven 安装生成的jar
所以在上面的maven install中,maven将hello项目生成hello-1.0-SNAPSHOT.jar,并放到仓库,
接下来看看如何在另一个项目中,使用这个jar,引用这个jar?
1、新建项目,hello_friend
2、在对应的pom.xml文件中,加入依赖即可,如下:
<dependencies> <dependency> <groupId>me.lzj.maven</groupId> <artifactId>hello</artifactId> <version>1.0-SNAPSHOT</version> <scope>compile</scope> </dependency> </dependencies>