我有以下目录结构:
somedir/
lib/
myapp.jar
commons-io-2.1.jar
...lots of otherjars
从somedir
内部,我尝试运行以下命令:
java -cp lib/* net.myapp.Driver /home/myUser.blah.text
我得到以下例外:
Exception in thread "main" java.lang.NoClassDefFoundError: lib/commons-io-2/1/jar
Caused by: java.lang.ClassNotFoundException: lib.commons-io-2.1.jar
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: lib/commons-io-2.1.jar. Program will exit.
为什么告诉我它在Apache Commons IO中找不到“主要”?我可能能够理解它是否找不到我的Driver
类(也许我配置错误),但这只是让我离开了。想法?提前谢谢!
答案 0 :(得分:0)
答案 1 :(得分:0)
从堆栈跟踪中看起来好像java正在把一个类的commons-io Jar带给我一个疯狂的猜测:它可能是一个空白问题吗? lib是否可能包含一个带有空格的jar?您是否尝试将cp选项括在引号中(即使用-cp“lib / *”)?
答案 2 :(得分:0)
你也可以试试java -cp / lib / * net.myapp.Driver /home/myUser.blah.text