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
提交
取消