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:这个答案解决了你的问题吗? –