2011-08-17 68 views
2

我在構建循環中使用Maven,包括使用maven-webstart-plugin生成jnlp文件。這個過程對jar進行簽名並從模板創建一個jnlp(這很棒),但是同時也會創建一個包含所有簽名jar和jnlp文件的zip文件(這可能很有幫助,但我不想)。如何防止Maven Webstart構建一個zip文件?

該文檔的行家,在webstart-插件不是特別全面... http://mojo.codehaus.org/webstart/webstart-maven-plugin/jnlp-mojos-overview.html

事實上,我發現計算器有用的信息的最佳來源 - 例如 Looking for Webstart Maven Plugin sample application

那裏似乎是一種在maven-webstart插件配置中執行此操作的方法 - 例如, (從上面的例子):

<plugins> 
    <plugin> 
    <groupId>org.codehaus.mojo.webstart</groupId> 
    <artifactId>webstart-maven-plugin</artifactId> 
    <configuration> 
     ... 
     <pack200>true</pack200> 
     <gzip>true</gzip> <!-- default force when pack200 false, true when pack200 selected ?? --> 
     ... 
    </configuration> 
    </plugin> 
</plugins> 

有人知道標籤是幹什麼的嗎?

我預計< gzip>標記允許通過將其設置爲< gzip> false </gzip>來排除創建zip文件,但是我的測試表明情況並非如此。事實並非如此,有沒有人知道gzip>標籤有什麼作用?

最後,如果這些不是相關的標籤,是否有可能阻止創建zip文件?如果是這樣,怎麼樣?

+0

也許通過使用jnlp-inline來代替? – rogerdpack

回答

4

您可以通過將<makeArchive>false</makeArchive>添加到Web Start插件配置來禁用創建完整的zip存檔。

如您所知,使用<pack200>true</pack200>會在您的發行版中生成額外的pack200壓縮版本的庫。

當添加<gzip>true</gzip>時,每個打包庫正在使用gzip進行壓縮。

你會得到這些庫根據所使用的配置組合,如:

  • 的log4j-1.2.16.jar
  • 的log4j-1.2.16.jar.pack
  • 的log4j-1.2。 16.jar.pack.gz

gzip設置似乎還要求啓用pack200。 分發中始終包含解壓縮/未壓縮版本。

我敢肯定,你知道你的JNLP文件將需要包括爲了使外帶/ gzip壓縮庫的以下內容:

<resources> 
    <property name="jnlp.packEnabled" value="true"/> 
</resources> 

Pack200/gzip格式,結果我的JWS應用之一:

  • 解壓縮/未gzip壓縮罐:13 167 855字節
  • Pack200'ed罐子:11個807 799字節
  • 盒裝和gzip壓縮罐:4 821 048 BYT es

正如您所看到的,pack200/gzip組合將爲安裝和升級時間帶來真正的改變。

+0

您可以通過添加 –

+0

來禁用創建完整的zip存檔文件您在評論中的含義是什麼? –

相關問題