Maven
MAVEN是一个强大的构建工具,ItelliJ Idea 是个强大的IDE,帮他们联合起来使用,将会是多么美妙的事情。但是IDE中集成的Maven总使习惯使用命令行的我们头大,不想为了使用IDE重新学习如何使用怎么办,那么就通过配置环境兼容就好了。
Maven的准备
- 安装之前通过terminal输入java -version,查看是否已经安装JAVA的JDK和JRE
- linux下apt-get直接ok,windows下如下配置
- 首先下载好你需要的maven的版本,确定自己的安装路径,下载地址
- 然后在系统高级设置中添加环境变量,MAVEN_PATH,设置为你的路径
- 然后编辑环境变量Path,在最后一个分号后面添加%MAVEN_PATH%\bin;后面加分号是良好的习惯。如果之前的环境变量没有在结尾加;我们一个要加上来隔开两个环境变量
- 最后就是在terminal输入mvn -v,查看环境是否配置成功。
IntelliJ Idea 创建Maven项目
选择添加Maven Module,选择对应java版本,next即可
然后一路next,finish即可
IntelliJ Idea的Junit与Maven的路径兼容
因为maven的项目管理是TDD(Test Drive Develop)模式的,所以maven对于测试的路径有自己的固定格式,但是与Idea的是有区别的,所以利用Idea的Junit Generator插件自动generate测试类的时候,会出现路径不恰当的情况,所以我们要通过配置兼容这一问题
正确的路径在这里: ${SOURCEPATH}/../../test/java/${PACKAGE}/${FILENAME}
Maven基本的使用(基于命令行)
我们下面以一个HelloWorld程序打开局面:
- 配置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>tech.llin.maven</groupId>
<artifactId>llinMaven-learning</artifactId>
<version>1.0-SNAPSHOT</version>
<!-- 配置对于junit的依赖-->
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.7</version>
<scope>test</scope>
</dependency>
</dependencies>
<!--添加jar包的可执行功能-->
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.3</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>test.tech.llin.maven.HelloWorld</mainClass>
<!--这里写执行的主类(main函数所在的位置)-->
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
然后Junit一类的依赖就自己从中心库拉到你的项目中,是不是很开心!!!!!
- 程序的正文部分写在main/java,程序的测试类写在test/java,
首先在java中创建自己项目的包,然后代码如下:
package test.tech.llin.maven;
/**
* Created by llin on 2016/4/6.
*/
public class HelloWorld {
public static String sayHello(){
return "hello maven";
}
public static void main ( String [] args ){
System.out.println( sayHello() );
}
}
然后在这个类中,Alt+Insert快捷键生成Junit测试类,因为已经配置好路径,所以开心地一键生成
然后制定路径下会有generate好的测试类:
package test.tech.llin.maven;
import org.junit.Test;
import org.junit.Before;
import org.junit.After;
import org.junit.Assert;
/**
* HelloWorld Tester.
*
* @author <Authors name>
* @since <pre>���� 6, 2016</pre>
* @version 1.0
*/
public class HelloWorldTest {
@Before
public void before() throws Exception {
}
@After
public void after() throws Exception {
}
/**
*
* Method: sayHello()
*
*/
@Test
public void testSayHello() throws Exception {
//TODO: Test goes here...
HelloWorld helloWorld = new HelloWorld();
String result = helloWorld.sayHello();
Assert.assertEquals( "hello maven" , result );
}
/**
*
* Method: main(String [] args)
*
*/
@Test
public void testMain() throws Exception {
//TODO: Test goes here...
}
}
- 然后
mvn clean compile //清除之前target编译文件并重新编译
mvn clean test //对项目进行测试
mvn clean package //对项目进行打包(因为配置过插件,所以jar包是可执行的)
mvn clean install //安装项目,然后就可以使用了
java -jar *.jar //执行
那么好用的maven就配置好了
为了命令行和IDE内部统一,最好配置maven为自己系统环境变量路径下的maven