[英]maven, deploy a desktop application
我正在從螞蟻切換到maven。
為了簡單起見,我的應用程序是一個連接到數據庫的swing應用程序。 我希望它被打包在一個jar文件中。
該應用程序需要一個外部庫,即Microsoft sql server庫,包含在一個jar文件中:sqljdbc4-3.0.jar。
所以我試着包含這個庫:
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>sqljdbc4</artifactId>
<version>3.0</version>
</dependency>
但是當啟動jar時,我得到了例外:
java.lang.SecurityException: Invalid signature file digest for Manifest main attributes
其他stackoverflow問題已經記錄了這個問題; 我正在談論這個只是為了達到目的。 我的想法(也許是天真的)如下,我想
搜索周圍,我發現每個問題都由不同的maven插件執行:jar插件,依賴插件和程序集插件。
這是要走的路嗎?
我感覺不對,因為我不喜歡maven會輕松處理“常規”配置,這三個插件的解決方案似乎有點過於復雜。
您需要將這些插件添加到pom
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib</classpathPrefix>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4</version>
<configuration>
<descriptor>src/main/assembly/assembly.xml</descriptor>
</configuration>
</plugin>
的src /主/組件/ assembly.xml
<assembly>
<id>assembly</id>
<formats>
<format>zip</format>
</formats>
<dependencySets>
<dependencySet>
<outputDirectory>/lib</outputDirectory>
<unpack>false</unpack>
</dependencySet>
</dependencySets>
</assembly>
運行程序集
mvn clean package assembly:single
這是maven的方式。 順便說一下:jar插件和依賴插件總是包含在maven構建中,不需要配置它們。
另外一個很好的幫助可能是appassembler創建一個可分發包括所需的所有jar文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.