2012-02-23 80 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