我有一个单独的 .java 文件(driver.java),想要通过命令行编译和运行它。它使用了名为 EXT.jar
的外部库,其结构只是一个名为 EXT 的文件夹,其中包含几十个类。
所以我运行:
javac -cp EXT.jar driver.java
这个类可以成功编译。
然后当我运行时:
java -cp EXT.jar driver
我遇到了一个java.lang.NoClassDefFoundError错误。
奇怪的是,如果我解压JAR文件(现在在根目录下有一个名为EXT的文件夹),最后一个命令就可以正常工作!驱动程序将会执行!
有没有办法让driver.class从EXT.jar / EXT / * class中查找所需的类文件,而不是实际的EXT文件夹?
谢谢!
java -cp .:libs/one.jar:libs/two.jar MainClass
。 - Mattjava MyApp -cp .;EXT.jar
。而这个可以正常工作:java -cp .;EXT.jar MyApp
。 - bcmoney