无法从命令提示符运行java类,引用类路径中的jar

时间:2012-02-23 15:52:58

标签: java

我正在尝试执行一个访问jar文件中的方法的java类。我的包结构是com.xmlpost.XmlPostInit.java,它位于以下目录下:

  D:\Workspace\Test\bin

我正在使用以下命令。注意,cs.jar包含类com.xmlpost.XmlPostInit

D:\Workspace\Test\bin>java -classpath D:\FatWire\JSK\7.6.0\App_Server\apache-tomcat-6.0.18\webapps\cs\WEB-INF\lib\cs.jar com.xmlpost.XmlPostInit

..这给了我以下错误:

Exception in thread "main" java.lang.NoClassDefFoundError: com/xmlpost/XmlPostInit
Caused by: java.lang.ClassNotFoundException: com.xmlpost.XmlPostInit
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: com.xmlpost.XmlPostInit.  Program will exit.

1 个答案:

答案 0 :(得分:1)

您还必须将bin目录添加到类路径中,因为JVM需要查看它以查找您的类。当你在里面运行时,你可以用“。”来引用localy:

D:\Workspace\Test\bin>java -classpath .;D:\FatWire\JSK\7.6.0\App_Server\apache-tomcat-6.0.18\webapps\cs\WEB-INF\lib\cs.jar com.xmlpost.XmlPostInit