commons io的Java NoClassDefFoundError?

commons io的Java NoClassDefFoundError?,java,command-line,classpath,noclassdeffounderror,apache-commons-io,Java,Command Line,Classpath,Noclassdeffounderror,Apache Commons Io,我有以下目录结构: 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:

我有以下目录结构:

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.
为什么它告诉我在ApacheCommonsIO中找不到“main”?如果它找不到我的
驱动程序
类,我也许能理解(也许我配置错了什么),但这只会让我大吃一惊。思想?提前谢谢

使用引号

java -cp "lib/*" net.myapp.Driver /home/myUser.blah.text

解释得很好。

从堆栈跟踪来看,似乎java将commons io Jar作为一个类,这让我猜测:这可能是一个空白问题吗?lib是否可能包含一个带有空格的jar?您是否尝试过将cp选项括在引号中(即使用-cp“lib/*”)

您也可以尝试java-cp/lib/*net.myapp.Driver/home/myUser.blah.text