Java - Create Jar 檔錯誤-line too long

摘要: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

這樣就解決問題了。

參考來源:

http://felixhuang.pixnet.net/blog/post/26110211-%5Bjava%5D-%E5%9F%B7%E8%A1%8Cjar%E6%99%82%EF%BC%8C%E5%87%BA%E7%8F%BE-java.io.ioexception%3A-line-too-l