maven專案打jar包及本地化
阿新 • • 發佈:2019-01-02
自己寫的一段程式碼如何打包成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檔案中呼叫。