![](/img/trans.png)
[英]Can I try/catch this error: “An unexpected error occurred while trying to open jar”
[英]An unexpected error occurred while trying to open jar
我有一個春季批處理項目導出為可運行的Jar文件,它有4個主要方法,只有一個主要正在工作,另一個主要需要引用jar jai-codec-1.1.3.jar,但是當我將jar放在類路徑中時,第一個主電源也無法工作,並顯示錯誤消息“嘗試打開jar時發生意外錯誤”
這是我的mainfest文件:
清單版本:1.0類路徑:JARS / spring-jdbc-3.1.1.RELEASE.jar JARS / spring-context-3.2.3.RELEASE.jar JARS / log4j-1.2.14.jar JARS / spring-tx- 3.2.3.RELEASE.jar JARS / spring-core-3.2.3.RELEASE.jar JARS / spring-beans-3.2.3.RELEASE.jar JARS / commons-logging-1.1.1.jar JARS / spring-aop- 3.2.3.RELEASE.jar JARS / aopalliance-1.0.jar JARS / spring-expression-3.2.3.RELEASE.jar JARS / commons-dbcp-1.4.jar JARS / commons-pool-1.5.4.jar JARS / ojdbc6 -11.2.0.3.jar JARS / commons-lang3-3.0.jar JARS / itextpdf-5.5.1.jar JARS / jdom2-2.0.5.jar JARS / jai-codec-1.1.3.jar
我發現這不是因為特定的jar文件,而是因為classpath的長度超出了限制,有沒有辦法在MAINFEST文件的classpath中放置更多的jar?
我也定義了所有@autowired服務和組件類,但是它仍然不能在jar中工作,只有當我在spring-config中將它們定義為bean時,它才起作用。
任何人都可以幫助我找出原因嗎?
問題解決了。 我不確定這是否是MAINFEST文件中classpath大小的限制,但是當它太長時,這真的很重要,我將所有jar名稱更改為1、2、3 ...,並能夠將所有jar放在classpath中,並且有效。 如果您對此有其他意見,請留下您的評論,謝謝。
該錯誤可能表明(盡管以非常不清楚的方式) MANIFEST.MF
錯誤。 這可以通過文件中間的無效空行或太長的行來模擬。
MANIFEST.MF
是極度手動編輯不友好的:
有關其規范的更多信息,請參見: https : //docs.oracle.com/javase/7/docs/technotes/guides/jar/jar.html
我將補充說,清單中的屬性一定不能用點分隔,破折號或沒有分隔符:“ myProperty”將起作用,“ my-property”也將起作用,但是“ my.property”將失敗,並顯示“錯誤:發生了意外錯誤”同時嘗試打開文件...”,完全沒有任何解釋。 盡管“ my.property”在某些獨立的應用程序中可以用作Java屬性,但是在讀取清單時,它只是中斷了JAR中嵌入式應用程序的啟動。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.