我在使用maven-assembly-plugin創建一個較大的zip組件(未壓縮需要超過3GB)時遇到問題。構建輸出壓縮文件時(壓縮小於1GB)會發生該問題。與選項-e
運行Maven給了我一個更詳細的信息:使用maven-assembly-plugin創建一個大的zip組件
[INFO] Building zip: xxx/HG19-UCSC-dist.zip
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 12:40.199s
[INFO] Finished at: Wed Oct 02 11:08:44 BST 2013
[INFO] Final Memory: 13M/723M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-assembly-plugin:2.2-beta-5:single (make-assembly) on project HG19: Execution make-assembly of goal org.apache.maven.plugins:maven-assembly-plugin:2.2-beta-5:single failed: invalid entry size -> [Help 1]
...
...
...
Caused by: org.apache.maven.plugin.PluginExecutionException: Execution make-assembly of goal org.apache.maven.plugins:maven-assembly-plugin:2.2-beta-5:single failed: invalid entry size
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:115)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
... 19 more
Caused by: java.lang.IllegalArgumentException: invalid entry size
at java.util.zip.ZipEntry.setSize(ZipEntry.java:135)
at org.codehaus.plexus.archiver.zip.ZipOutputStream.closeEntry(ZipOutputStream.java:352)
at org.codehaus.plexus.archiver.zip.ZipOutputStream.finish(ZipOutputStream.java:316)
環顧四周,我發現,這個問題是來自於我的JDK缺少ZIP64支持/ JRE(https://blogs.oracle.com/xuemingshen/entry/zip64_support_for_4g_zipfile),將其加入到OpenJDK的2011年
不過,我已經更新了我的JDK Oracle提供的最新一個:
$ mvn -version
Apache Maven 3.1.0 (893ca28a1da9d5f51ac03827af98bb730128f9f2; 2013-06-28 03:15:32+0100)
Maven home: /usr/local/apache-maven-3.1.0
Java version: 1.7.0_40, vendor: Oracle Corporation
Java home: /usr/local/java/jdk1.7.0_40/jre
Default locale: en_GB, platform encoding: ISO-8859-1
OS name: "linux", version: "2.6.32-279.2.1.el6.x86_64", arch: "amd64", family: "unix"
並報告了同樣的問題,再一次。最新的Oracle JDK不支持Zip64還是其他的東西?
我想,我可以嘗試從源代碼構建OpenJDK b147,但希望避免這種情況,除非不可避免。
請使用當前版本2.4的[maven-assembly-plugin](http://maven.apache.org/plugins/maven-assembly-plugin/)的最新版本。 – khmarbaise
謝謝,我沒有想到這一點。不幸的是,它沒有多大幫助: '[錯誤]無法執行目標org.apache.maven.plugins:maven-assembly-plugin:2.4:項目HG19上的單個(make-assembly):執行make-assembly of goal org.apache.maven.plugins:maven-assembly-plugin:2.4:單一失敗:無效的條目大小 - > [幫助1]' – Jacek