今天我们开始我们maven之旅。
1.下载maven的bin压缩包
https://maven.apache.org/download.cgi
解压bin压缩包
接下来我们进行mave的环境变量配置M2_HOME(右键ThisPC->Properties),其中它的值就是该bin压缩包解压后的路径,谨记:包内bin目录的上一层
在path中添加M2_HOME的路径
添加好后检查下是否成功:mvn -version
2.接下来我们手动进行一个maven工程的配置
test内先不做测试工程的配置
HelloWorld.java
package com.unicorn.helloworld;
public class HelloWorld {
public void sayHello() {
System.out.println("hello mvn");
}
public static void main(String[] args) {
new HelloWorld().sayHello();
}
}
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.unicorn.helloworld</groupId>
<artifactId>HelloWorld</artifactId>
<version>1.0-SNAPSHOT</version>
<name>Maven Hello World Project</name>
</project>
以上工作完成后,我们开始通过命令行来进行项目的自动构建
输入mvn compile
第一次构建会下载maven构建的相关依赖jar
它会首先下载到系统盘(C Disk)
之后我们会将这些依赖迁出系统盘。
在这之后可能发生的错误:
a.你电脑的Java环境错误:它会产生一个error问你所安装的环境可能是jre而不是jdk导致无法编译(截图忘了搞了)
这时你需要进行对环境变量中的JAVA_HOME进行检查(笔者是因为有多个版本的jdk共存导致的小挫折,改一下就好),换成符合你在cmd中使用java -version看到的jdk版本的路径就好。
b.如下截图
出现这个情况是由于maven的插件版本问题,在pom.xml中添加如下配置形成完整版(参考:https://stackoverflow.com/questions/29258141/maven-compilation-error-use-source-7-or-higher-to-enable-diamond-operator)
<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.unicorn.helloworld</groupId>
<artifactId>HelloWorld</artifactId>
<version>1.0-SNAPSHOT</version>
<name>Maven Hello World Project</name>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.2</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
它会重新下载3.2的maven plugin
接下来就应该没问题了
至此compile成功!成功后会多出一个target输出目录!
3.mvn clean清除目标文件,就是把刚刚的target目录下的所有文件清除(包括target自身)
4.做test测试: mvn test
HelloWorldTest.java
package com.unicorn.helloworld;
import org.junit.Test;
public class HelloWorldTest {
//做测试需要导junit
@Test
public void testSayHello() {
HelloWorld hw = new HelloWorld();
hw.sayHello();
}
}
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.unicorn.helloworld</groupId>
<artifactId>HelloWorld</artifactId>
<version>1.0-SNAPSHOT</version>
<name>Maven Hello World Project</name>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.2</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<!-- https://mvnrepository.com/artifact/junit/junit -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
本地仓库中可以先没有,通过junit的中央仓库坐标加入pom中在mvn test编译时就会自动下载引入,下面是中央仓库的链接:
https://mvnrepository.com/
框图中的配置就是junit在中央仓库中的坐标
5.进行打包:mvn package
6.安装到本地仓库:mvn install
安装过程中错误
这可能是访问卡顿造成的问题,重新install就可以解决问题
7.把maven从系统盘迁出
现在我们添加如下配置
通过这种方式来迁移到我们电脑的其他disk中
接着,我们mvn compile一下
编译成功就完成啦!
谢谢各位!