2012-02-23 84 views
1

我想执行一个访问jar文件中的方法的java类。我的包结构是com.xmlpost.XmlPostInit.java,它位于目录下:无法从命令提示符运行java类引用类路径中的jar

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

你有你的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 
+0

托马斯是正确取决于您是否期望从cs.jar或“d获取类:\工作区\测试\ BIN ”。您的帖子不清楚应该在哪里找到com.xmlpost.XmlPostInit *。 – 2012-02-24 03:46:30

+1

嗨托马斯,你的建议工作。感谢你的回答 !!! :) – user1228745 2012-02-24 07:30:56

+0

@jowierun问题开始于“我尝试执行一个Java类[...],它驻留在目录下:[...]”。这似乎很清楚。 – 2012-02-24 08:40:11