Windows 10 1803 64 位,Java JRE 8。未安裝 JDK。我的文件夾中有一個 .jar:c:\users\myuser\KickAssembler\KickAss.jar在系統環境變量下,我的 CLASSPATH 為:c:\users\myuser\KickAssembler\在命令提示符處設置 CLASSPATH(使用 ECHO 檢查)。當我嘗試時出現提示:java -jar KickAss.jar它返回:Error: Unable to access jarfile KickAss.jar如果我先 CD 進入該目錄,然后運行它,它就可以正常工作。所以看起來 CLASSPATH 沒有被使用。我也已將該位置添加到標準 Windows PATH 中,但仍然不起作用。文件名的不同大小寫組合不起作用。Windows 設置為顯示隱藏文件。這不可能是權限問題,因為當我首先更改為目錄時它會起作用。我還能嘗試什么嗎?
1 回答

慕村9548890
TA貢獻1884條經驗 獲得超4個贊
CLASSPATH 用于定義 Java 加載類的路徑。CLASSPATH 可以包含文件夾和 JAR 文件,例如:C:\mybin;c:\myjars\some.jar該類路徑將加載位于c:\mybin中或之下的任何完全限定類文件以及c:\ myjars\some.jar。CLASSPATH 不會允許 JAVA 找到您的 JAR 文件,正如您在使用 -jar 開關時所期望的那樣,它不會沿著類路徑搜索任何 JAR 文件,它只會查找 CLASSPATH 中明確指定的文件,然后僅查找類其中的文件。注意,完全限定意味著package + class,例如:com.myorg.somepackage.someclass,而不僅僅是someclass。
正如您所觀察到的,如果您位于 kickass.jar 所在的文件夾中,則當 JAR 文件存在時,命令行將起作用。如果您在從另一個文件夾執行命令時完全引用 JAR 文件,則命令行也應該可以正常工作。
添加回答
舉報
0/150
提交
取消