Maven專案管理(一) IntelliJ Idea+Maven環境搭建與基於命令列的基本使用
阿新 • • 發佈:2019-02-08
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