Windows10上的Java8-类路径不工作

Windows10上的Java8-类路径不工作,java,windows-10,classpath,Java,Windows 10,Classpath,Windows 10 1803 64位,Java JRE 8。没有安装JDK 我在文件夹中有一个.jar: c:\users\myuser\KickAssembler\KickAss.jar 在系统环境变量下,我的类路径为: c:\users\myuser\KickAssembler\ 在命令提示下设置类路径(使用ECHO进行检查) 在尝试时出现提示: java -jar KickAss.jar 它返回: Error: Unable to access jarfile KickAss.ja

Windows 10 1803 64位,Java JRE 8。没有安装JDK

我在文件夹中有一个.jar:

c:\users\myuser\KickAssembler\KickAss.jar
在系统环境变量下,我的类路径为:

c:\users\myuser\KickAssembler\
在命令提示下设置类路径(使用ECHO进行检查)

在尝试时出现提示:

java -jar KickAss.jar
它返回:

Error: Unable to access jarfile KickAss.jar
如果我先将CD放入目录,然后运行它,它就可以正常工作。所以看起来类路径并没有被使用。我已经将该位置添加到标准Windows路径中,但仍然不起作用

文件名的不同大小写组合不起作用。Windows设置为显示隐藏文件。这不可能是权限问题,因为当我首先更改到目录时,它会起作用


还有什么可以尝试的吗?

CLASSPATH用于定义Java加载类的路径。类路径可以包含文件夹和JAR文件,例如:C:\mybin;c:\myjars\some.jar此类路径将加载驻留在c:\mybin中或其下的任何完全限定类文件以及c:\myjars\some.jar中的任何完全限定类。当使用-JAR开关时,类路径将不允许JAVA像您所期望的那样找到您的JAR文件,它不会沿着类路径搜索任何JAR文件,它只会查找类路径中显式声明的JAR文件,然后只查找其中的类文件。注意,完全限定是指包+类,例如:com.myorg.somepackage.someclass,而不仅仅是someclass

正如您所观察到的,如果您在kickass.jar所在的文件夹中,那么您的命令行将与jar文件一样工作。如果在从另一个文件夹执行命令时完全引用JAR文件,那么命令行也应该可以工作


有关类路径如何工作的更多详细信息,请参见。在使用JAVA时,对类路径有一个坚实的理解是很重要的。

在系统环境中,您将路径放置到
JAVA\u文件夹\bin
,而不是
您的\u app.jar的路径。之后,用
java-version
签入
cmd
。如果出现错误,有些仍然是错误的。我想你误解了我的意图。查找JAVA.exe没有问题。我想您误解了类路径的实用性。Classpath是java可以找到依赖项JAR的路径。它与您打算运行的主jar无关。“类路径告诉JDK工具和应用程序在哪里可以找到第三方和用户定义的类,即不是Java扩展或Java平台一部分的类。类路径需要找到您用javac编译器编译过的任何类——它的默认值是当前目录,以便能够方便地找到这些类。”