2012-01-03 112 views
6

我幾乎所有相關的東西都是新手,但希望使用Maven構建Java Web Start應用程序。我還需要重新包裝一個特定的.jar(commons-httpclient-3.1.jar),否則它不會用JarSigner簽名(當我用Google搜索時看起來是一個常見問題)。也許我可以使用Maven插件this,但我甚至不知道如何設置Maven存儲庫。使用Maven構建Java Web Start應用程序

我(可能)需要:

  • 設置Maven倉庫,以便能夠使用上面的插件,
  • 配置使用插件的JNLP構建,
  • 採用開放式三種。我們開發的jar(已經使用Maven構建)並與依賴關係一起安裝(例如slf4j-api-1.6.1.jar,spring-security-core-3.0.7.RELEASE.jar和其他十幾個) ,
  • 還解壓縮並重新打包特定的jar(使用jar.exe重新打包,因爲它不起作用而不使用zip)。

我更喜歡鏈接到大塊文檔的例子。 :) 提前致謝!

+1

*「..需要重新包裝一個特定的.jar ..或者它不會籤的jarsigner」 *由於是數字簽名?將它放在JWS擴展中(['component-desc'元素](http://docs.oracle.com/javase/7/docs/technotes/guides/javaws/developersguide/syntax.html#comp_desc))並添加對主要JNLP中的擴展的引用。規則是*每個擴展*中的所有Jars都需要具有相同的數字簽名。 – 2012-01-03 14:40:01

+0

相關主題:[尋找Webstart Maven插件示例應用程序](http://stackoverflow.com/questions/5195545),[如何讓Maven爲我的項目生成jnlp?](http://stackoverflow.com /問題/ 1842959)。 – 2012-01-03 16:45:37

回答

2

你可以使用一個maven plugin for web start

另外,您可以產生內與JNLP文件中的戰爭(手動創建)

你甚至可以創建一個servlet將創建一個JNLP(有這樣的東西得到所有罐子在某些lib目錄中)並動態返回給客戶端。

插件應該是在Maven倉庫,但我從來沒有檢查它...

+0

這就是我提到的插件,但我不知道如何引用pom.xml中的標記中的存儲庫,應該使用哪個URL和ID?我如何發現? – 2012-01-03 15:50:54

+1

這件事與整體maven配置相關,而不是特定於web開始。作爲第一次嘗試只是使用默認值(有一個默認的存儲庫,假設你不在防火牆後面或其他東西)。插件應該存在於你需要在應用程序的pom.xml中配置它的倉庫中(就像你打算使用的戰爭插件一樣),一切都應該工作。這有什麼幫助 – 2012-01-03 19:46:35

0

你現在可能已經想通了這一點,但插件庫與您的POM以一個單獨的配置參考正常的安裝庫。

例如

<pluginRepositories> 
    <pluginRepository> 
     <id>central</id> 
     <name>Maven Plugin Repository</name> 
     <url>http://repo1.maven.org/maven2</url> 
     <layout>default</layout> 
     <snapshots> 
     <enabled>false</enabled> 
     </snapshots> 
     <releases> 
     <updatePolicy>never</updatePolicy> 
     </releases> 
    </pluginRepository> 
    </pluginRepositories> 

看到這裏http://maven.apache.org/guides/introduction/introduction-to-the-pom.html

相關問題