在按照狂神的教程在Dos窗口执行了javac hello.java后在执行java hello报错“”
发现路径文件夹内并未生成class文件
检查了环境变量,dos路径等等绕了一大圈发现.java文件并没有保存
每次打开都能看见代码是因为notepad++对文本的副本
实质上当我复制源文件时生成的副本是空的
在保存了.java文件后顺利生成了class文件但是还是依旧报错“”
继续查资料下发现了classpath这个环境变量:
JAVA_HOME 指向的是JDK的安装路径
JAVA_HOME=D:\Download (每个人安装目录不同)
PATH 环境变量原来Windows里面就有,你只需修改一下,使他指向JDK的bin目录,这样你在控制台下面编译、执行程序时就不需要再键入一大串路径了。
(注:%%中的内容指路径引用,是Dos批处理指令,如%JAVA_HOME%=D:\Download)
PATH=%JAVA_HOME%\bin;
CLASSPATH 环境变量是狂神说Java并没有明说要配置的变量,因为我之前大二下学习数据库嵌入式的时候选择的是Java嵌入,所以搭载过Javame的环境,所以提前搭载过classpath变量。
我搜索了百度上面的classpath变量配置方法,发现跟我的不太一样,就以为是这里出了问题。后来发现果然是这的问题,我的classpath只是对嵌入式进行了配置,并没有对Javase进行配置。
之后在大佬的博客指导下加入了新的变量值
下方引用带佬原话:
CLASSPATH=.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
首先要注意的是最前面的".;",如果你看不清,我给你念念——句点分号。这个是告诉JDK,搜索CLASS时先查找当前目录的CLASS文件——为什么这样搞,这是由于LINUX的安全机制引起的,LINUX用户很明白,WINDOWS用户就很难理解(因为WINDOWS默认的搜索顺序是先搜索当前目录的,再搜索系统目录的,再搜索PATH环境变量设定的) 。
为什么CLASSPATH后面指定了tools.jar这个具体文件? 这个是由java语言的import机制和jar机制决定的
具体的设定方法: 右键点击我的电脑->属性->高级->环境变量(也可以Win+Q输入环境变量搜索)
修改下面系统变量那个框里的值就行了。
用户修改txt文本属性auto.bat文件,在其末尾加入:
set JAVA_HOME=C:\jdk1.5.0_06
set PATH=%JAVA_HOME%\bin;%PATH%
set CLASSPATH=.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
原文:https://www.cnblogs.com/wtlbbdbk/p/14364935.html