我試過四處搜尋,但找不到任何符合我個案的答案。爲什麼我的IDE找到JAR,但我的命令行不是?
我可以在使用IDE時運行CB.java文件。該文件依賴於cs2.jar中指定的類。這是它的目錄的內容。
02/12/2013 03:43 PM <DIR> .
02/12/2013 03:43 PM <DIR> ..
02/12/2013 03:45 PM 2,226 CB.class
02/12/2013 01:21 PM 2,164 CB.java
02/12/2013 03:43 PM 71,128 cs2.jar
3 File(s) 75,518 bytes
2 Dir(s) 408,977,362,944 bytes free
當我從IDE上運行它時,CB.java工作得很好。然而,當我嘗試java CB
在命令行中,我得到:
Exception in thread "main" java.lang.NoClassDefFoundError: sn/visual/JRect
angle
Caused by: java.lang.ClassNotFoundException: sn.visual.JRectangle
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: CB. Program will exit.
此外,我嘗試以下建議使用的東西添加到類路徑:
>java -cp C:\Users\...blah blah blah...\Software_Engineering cs2
Exception in thread "main" java.lang.NoClassDefFoundError: cs2
Caused by: java.lang.ClassNotFoundException: cs2
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: cs2. Program will exit.
爲什麼我的IDE是聰明,但我命令行不是?
謝謝。
你檢查你的classpath? Dot(「。」)是否添加到環境變量的類路徑條目中? Dot表示運行命令的當前目錄。如果將其添加到類路徑中,則每次運行該命令時都不需要包含「-cp」(假設jar文件也位於同一目錄中) – Slowcoder 2013-02-12 21:34:21