1
我構建了一個jar文件,其中包含使用其他jar文件作爲依賴項的代碼,但我無法運行它(我一直在收到NoClassDefFoundError)。如何將依賴關係jar文件包含到jar文件中
我可以在網上找到的所有其他類似問題都用maven作爲解決方案,我想避免這樣做。當我運行像這樣我的代碼:
#!/bin/bash
java -cp "src/.:src/jsoup-1.9.2.jar:src/commons-cli-1.3.1.jar" WikipediaWords [email protected]
它運行良好,但是當我嘗試:
java -cp "src/.:src/jsoup-1.9.2.jar:src/commons-cli-1.3.1.jar" -jar WikipediaWords.jar [email protected]
它抱怨。
雖然我編譯了我的jar文件,但裏面還有所有的依賴關係,所以我真的不知道爲什麼找不到任何東西。理想情況下,我甚至不希望將-cp路徑添加到我的java執行中,並且只知道jar文件使用嵌套的jar依賴文件。
如果您有任何關於如何解決這個問題(運行沒有類def錯誤的jar文件)而不使用Maven,請告訴我!
在此先感謝!
P.S.我的建築規範可能是有用的:
#!/bin/bash
javac -cp "src/.:src/jsoup-1.9.2.jar:src/commons-cli-1.3.1.jar" src/WikipediaWords.java
jar cfm src/WikipediaWords.jar src/Manifest.txt -C src/ .
非常感謝,這個作品! –
如果我能以某種方式獲取WikipediaWords.jar中jar文件的副本,您是否有任何線索? –
@Ofek:這個答案解決了你的問題嗎? –