我有一個項目有一些依賴的罐子。我已經添加了相關的罐子項目,然後將它們添加到構建路徑。 當我從eclipse運行它時,它運行良好。Runnable jar沒有找到庫
現在我想把它變成一個可運行的jar。 一旦我將其導出爲Runnable jar以及選項「將所需庫包裝到生成的Jar中」。
當我運行jar時,它會拋出我Cannot find symbols
錯誤。這些符號存在於相關的罐子裏,我不知道它爲什麼會發生。
任何人都可以幫我嗎?
我有一個項目有一些依賴的罐子。我已經添加了相關的罐子項目,然後將它們添加到構建路徑。 當我從eclipse運行它時,它運行良好。Runnable jar沒有找到庫
現在我想把它變成一個可運行的jar。 一旦我將其導出爲Runnable jar以及選項「將所需庫包裝到生成的Jar中」。
當我運行jar時,它會拋出我Cannot find symbols
錯誤。這些符號存在於相關的罐子裏,我不知道它爲什麼會發生。
任何人都可以幫我嗎?
你應該使用選項提取所需的庫到生成JAR而不是包所需的庫到生成的JAR時要導出的項目到運行的JAR文件。
區別在於,打包所需的庫需要將JAR文件放入JAR文件中。所以JAR文件中有其他的JAR文件。爲了這個工作,你的主程序必須有關於如何讀取主JAR文件中的JAR文件的知識。
爲了澄清,結果文件將是這樣的:
project.jar/
com/yourproject/Main.class
dependencyA.jar
dependencyB.jar
對於其他選項,提取所需的庫到生成JAR,會發生什麼是那些依賴會解壓,然後裝到JAR文件中。這次不是作爲JAR文件,而是作爲類和資源文件。此方法將允許Java從主JAR文件中查找相關的類文件。
結果現在這個樣子
project.jar/
com/yourproject/Main.class
com/dependencyA/SomeClass.class
com/dependencyA/SomeOtherClass.class
...
這種格式是可讀的Java進程,尋找類和資源文件的JAR不嵌套的JAR文件。
這樣做還是一樣的問題。 – Aneesh 2014-09-25 11:52:49
運行JAR文件時,可以粘貼完整的錯誤嗎? – toomasr 2014-09-25 11:54:01