maven構建java項目的過程【完全】


在構建項目之前,首先搭建好maven配置環境,然后再配置setting.xml文件,將鏡像配置完成,進行如下步驟:

構建項目命令及參數說明

一、控制台輸入以下命令【在要創建的目錄下】:

mvn archetype:generate -DgroupId=com.companyname.bank -DartifactId=consumerBanking -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

參數說明:

  • -DgourpId: 組織名,公司網址的反寫 + 項目名稱
  • -DartifactId: 項目名-模塊名
  • -DarchetypeArtifactId: 指定 ArchetypeId,maven-archetype-quickstart,創建一個簡單的 Java 應用
  • -DinteractiveMode: 是否使用交互模式

生成的文件夾結構如下:

 

各個文件夾說明:

文件夾結構 描述
consumerBanking 包含 src 文件夾和 pom.xml
src/main/java contains java 代碼文件在包結構下(com/companyName/bank)。
src/main/test contains 測試代碼文件在包結構下(com/companyName/bank)。
src/main/resources 包含了 圖片 / 屬性 文件(在上面的例子中,我們需要手動創建這個結構)。

 

在 C:\MVN\consumerBanking\src\main\java\com\companyname\bank 文件夾中,可以看到一個 App.java,代碼如下:

package com.companyname.bank;
 
/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

 

打開 C:\MVN\consumerBanking\src\test\java\com\companyname\bank 文件夾,可以看到 Java 測試文件 AppTest.java。

package com.companyname.bank;
 
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
 
/**
 * Unit test for simple App.
 */
public class AppTest extends TestCase 
{
    /**
     * Create the test case
     *
     * @param testName name of the test case
     */
    public AppTest( String testName )
    {
        super( testName );
    }
 
    /**
     * @return the suite of tests being tested
     */
    public static Test suite()
    {
        return new TestSuite( AppTest.class );
    }
 
    /**
     * Rigourous Test :-)
     */
    public void testApp()
    {
        assertTrue( true );
    }
}

構建項目及測試

進入 C:/MVN 文件夾下,打開 consumerBanking 文件夾。你將看到有一個 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.companyname.bank</groupId>
  <artifactId>consumerBanking</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>consumerBanking</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

從以上 xml代碼中,可知 Maven 已經添加了 JUnit 作為測試框架。

默認情況下 Maven 添加了一個源碼文件 C:\MVN\consumerBanking\src\main\java\com\companyname\bank\App.java 和一個測試文件 C:\MVN\consumerBanking\src\test\java\com\companyname\bank\AppTest.java

打開命令控制台,跳轉到 C:\MVN\consumerBanking 目錄下,並執行以下 mvn 命令開始構建項目:

C:\MVN\consumerBanking>mvn clean package
[INFO] Scanning for projects...
[INFO] -------------------------------------------------------------------
[INFO] Building consumerBanking
[INFO]    task-segment: [clean, package]
[INFO] -------------------------------------------------------------------
[INFO] [clean:clean {execution: default-clean}]
[INFO] Deleting directory C:\MVN\consumerBanking\target
...
...
...
[INFO] [jar:jar {execution: default-jar}]
[INFO] Building jar: C:\MVN\consumerBanking\target\
consumerBanking-1.0-SNAPSHOT.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2 seconds
[INFO] Finished at: Tue Jul 10 16:52:18 IST 2012
[INFO] Final Memory: 16M/89M
[INFO] -------------------------

執行完后,我們已經構建了自己的項目並創建了最終的 jar 文件,下面是要學習的關鍵概念:

  • 我們給了 maven 兩個目標,首先清理目標目錄(clean),然后打包項目構建的輸出為 jar(package)文件。
  • 打包好的 jar 文件可以在 consumerBanking\target 中獲得,名稱為 consumerBanking-1.0-SNAPSHOT.jar。
  • 測試報告存放在 consumerBanking\target\surefire-reports 文件夾中。
  • Maven 編譯源碼文件,以及測試源碼文件。
  • 接着 Maven 運行測試用例。
  • 最后 Maven 創建項目包。
C:\MVN\consumerBanking\target\classes>java com.companyname.bank.App

你可以看到結果:

Hello World!

添加 Java 源文件

接下來我們看看如何添加其他的 Java 文件到項目中。打開 C:\MVN\consumerBanking\src\main\java\com\companyname\bank 文件夾,在其中創建 Util 類 Util.java。

package com.companyname.bank;
 
public class Util 
{
   public static void printMessage(String message){
       System.out.println(message);
   }
}

更新 App 類來使用 Util 類:

package com.companyname.bank;
 
/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        Util.printMessage("Hello World!");
    }
}

現在打開命令控制台,跳轉到 C:\MVN\consumerBanking 目錄下,並執行下面的 mvn 命令。

C:\MVN\consumerBanking>mvn clean compile

在 Maven 構建成功之后,跳轉到 C:\MVN\consumerBanking\target\classes 目錄下,並執行下面的 java 命令。

C:\MVN\consumerBanking\target\classes>java -cp . com.companyname.bank.App

你可以看到結果:

Hello World!

總結:全文來自https://www.runoob.com/maven/maven-build-test-project.html的幾個章節,這里全部放在一起進行學習。
以下是命令總結:
構建項目:
mvn archetype:generate -DgroupId=com.companyname.bank -DartifactId=consumerBanking -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

參數說明:

  • -DgourpId: 組織名,公司網址的反寫 + 項目名稱
  • -DartifactId: 項目名-模塊名
  • -DarchetypeArtifactId: 指定 ArchetypeId,maven-archetype-quickstart,創建一個簡單的 Java 應用
  • -DinteractiveMode: 是否使用交互模式

到項目目錄下構建項目【理解:生成target的過程】:

mvn clean package

測試【到target/classes/下測試...../App】:

java com.companyname.bank.App

在重新編寫java后,編譯:

mvn clean compile

在重新編譯后,執行:

java -cp . com.companyname.bank.App

 

****構建項目模板:

mvn archetype:generate

根據提示輸入,或參考:https://www.runoob.com/maven/project-templates.html

 生成項目文檔【在該項目目錄下執行】:

mvn site

 生成javaweb項目:

 

mvn archetype:generate -DgroupId=com.companyname.automobile -DartifactId=trucks -DarchetypeArtifactId=maven-archetype-webapp  -DinteractiveMode=false

 需要注意的是,當文件發生修改時,都要記得在該項目下mvn clean package


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM