1. 程式人生 > >maven專案打jar包及本地化

maven專案打jar包及本地化

自己寫的一段程式碼如何打包成jar檔案讓其他專案進行呼叫?以下操作均基於maven工程。

1.預設要打包的java檔案基於maven工程建立且測試可行;
2.修改pom.xml檔案,增加以下內容:

<build>
    <plugins>
        <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>2.2</version>
            <configuration
>
<archive> <manifest> <mainClass>com.sjsk.amq.Amq</mainClass> </manifest> </archive> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef
>
</descriptorRefs> </configuration> </plugin> </plugins> </build>
其中,將mainClass改為自己工程的主類,其他內容不變,並儲存;

3.從CMD進入該工程的當前目錄,執行以下命令:

mvn assembly:assembly
如果想要忽略測試,以上命令改為:
mvn assembly:assembly -DskipTests
命令執行完畢,看到“BUILD SUCCESS”字樣,則說明建立成功;

4.此時在目錄target中會看到如下幾個檔案:
這裡寫圖片描述
此時說明jar包已生成,其中有後綴-with-dependencies的jar包是包含依賴包的,沒有該字尾的jar不包含依賴包;
5.在CMD控制檯中執行以下命令,將jar包定製到maven的本地資源庫:

mvn install:install-file -Dfile={jarPath}/{jarName}.jar -DgroupId={groupId} -DartifactId={artifactId} -Dversion={jarVersion} -Dpackaging=jar
例如:
mvn install:install-file -Dfile=D:\workspace\amq\target\amq-0.0.1-SNAPSHOT-jar-with-dependencies.jar -DgroupId=com.sjsk -DartifactId=amq -Dversion=0.0.1 -Dpackaging=jar
此時看到“BUILD SECCESS”,說明定製成功;

6.在新工程的pom.xml中,加入以下內容:

<dependency>
    <groupId>com.sjsk</groupId>
    <artifactId>amq</artifactId>
    <version>0.0.1</version>
</dependency>

即可在新工程的java檔案中呼叫。