摘要:Java - Create Jar 檔錯誤-line too long
我執行jar cvmf manifest ....相關的指令時,出現了以下的錯誤
java.io.IOException: line too long
at java.util.jar.Attributes.read(Attributes.java:362)
at java.util.jar.Manifest.read(Manifest.java:182)
at java.util.jar.Manifest.<init>(Manifest.java:52)
at sun.tools.jar.Main.run(Main.java:151)
at sun.tools.jar.Main.main(Main.java:1149)
經網路查找,是因為mainfest檔的Class-Path參數過長的原因
原本是在mainfest檔中,以一行記錄所有要引用的jar,我大概有19個jar檔,總長度大概570個位元,就造成這樣的問題。
後來解決方法就是
將每個要引用的jar,以每一行做顯示,
在Class-Path下一行時,則要空兩個空白
如下表示(../lib之前都各兩個空白)
Class-Path: . ../config/
../lib/bcprov-jdk15-146.jar
../lib/chilkat.jar
../lib/commons-codec-1.6.jar
../lib/commons-collections-3.2.1.jar
../lib/commons-httpclient-3.1.jar
../lib/commons-io-2.0.1.jar
../lib/commons-lang-2.4.jar
../lib/commons-logging.jar
../lib/commons-pool-1.5.6.jar
../lib/gson-1.7.1-javadoc.jar
../lib/gson-1.7.1-sources.jar
../lib/gson-1.7.1.jar
../lib/httpclient-4.0.jar
../lib/httpcore-4.0.1.jar
../lib/JavaPNS_2.2.jar
../lib/jsch-0.1.16.jar
../lib/log4j-1.2.11.jar
../lib/mail.jar
../lib/mysql-connector-java-5.1.14-bin.jar
這樣就解決問題了。
參考來源: