cmd命令java可以执行,但是javac不可以执行。还有一个表现就是javac 编译文件时不会报错,但是没有.class文件出现。 看了cs上好多说法,都不是我的错误来源。我的问题是电脑上jre,还有jdk都装了,jdk中自带jre,我在设置环境变量的时候把java_home和jre_home都设置了,导致重叠不匹配出错。 解决方法就是把多下的jre删除,并且删掉环境变量中的jre_home。