【环境变量】环境变量设置对了,但用错编译/运行命令
这篇是昨天在CSDN发表的,本来想双线作战来着的。不过CSDN的编辑界面实在太不友好
了。难怪那么多人转向博客园。 昨天搞了一整天的Java环境变量,后来才知道,丫的原来不是
环境变量的问题,而是没用对命令。
JDK下载: http://rj.baidu.com/soft/detail/17531.html
参考博客园: http://www.cnblogs.com/shinge/p/5500002.html
参考百度百科: http://jingyan.baidu.com/article/ca2d939d1a34c2eb6d31ce4f.html
找不到或无法加载主类: https://zhidao.baidu.com/question/1690731339477414628.html
1. Windows下JAVA用到的环境变量主要有3个,JAVA_HOME、PATH、CLASSPATH。
JAVA_HOME 指向的是JDK的安装路径,在该路径下能找到bin、lib等目录。
JAVA_HOME: C:\Program Files\Java\jdk1.8.0_112(此处千万不能带上分号)
PATH 环境变量原来Windows里面就有,你只需修改一下,使他指向JDK的bin目录,这样你在控制台下面编译、执行程序时就不需要再键入一大串路径了。设置方法是保留原来的PATH的内容,并在其中加上%JAVA_HOME%\bin
(注,如果你对DOS批处理不了解,你可能不明白%%引起来的内容是什么意思;其实这里是引用上一步设定好的环境变量JAVA_HOME,你写成x:\JDK_1.4.2也是可以的;你可以打开一个控制台窗口,输入echo %JAVA_HOME%来看一下你的设置结果)
PATH: ;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin(注意,加不加分号要看前面有还是没有)
CLASSPATH:最后的CLASSPATH其实是可有可无的,所以为了避免麻烦,不如不创建它。
2. 添加完成之后,确认保存
验证:打开cmd命令窗口,分别输入java、javac、java -version 三个命令验证,如果都不会出错,则证明配置完成。
3. 在命令行运行程序时最可能出现的错误: 找不到主类或无法加载主类
1 //这个问题原因有以下几种,但是和环境变量并没有太大的关系 2 //能够执行java 和 javac 就证明你的环境变量已经配置好了,其实 classpath 可以不配置 3 //假如有如下文件:E:\Java\code\demo\Hello.java 4 public class Hello{ 5 public static void main(String[]args){ 6 System.out.println("Hello"); 7 } 8 } 9 //正确编译命令: javac Hello.java 10 //正确运行命令: java Hello 11 12 错误1:E:\Java\code\demo>java Hello.java 13 错误: 找不到或无法加载主类 Hello.java 14 原因:命令错误 15 16 错误2:E:\Java\code\demo>java Hello.class 17 错误: 找不到或无法加载主类 Hello.class 18 原因:命令错误 19 20 错误3:java 源文件带有包名,往往容易出错 21 如:E:\Java\code\demo>Hello.java 22 package demo; 23 24 public class Hello2{ 25 public static void main(String[]args){ 26 System.out.println("Hello2"); 27 } 28 } 29 这代码看上去没什么问题,执行: 30 E:\Java\code\demo>javac Hello2.java 31 E:\Java\code\demo>java Hello2 32 错误: 找不到或无法加载主类 Hello2 33 34 解决办法: 35 +.删除包名 或者 36 +.直接在demo的上一层目录执行命令 37 编译:E:\Java\code>javac demo.Hello2.java 38 运行:H:\Java\code>java demo.Hello2
有一个不能理解的是,在使用命令行变换当前路径时,不能直接用cd E:\Java\demo, 这样会出错。所以
只能是分两步来跳转路径。
cd E:\Java\demo—>e
或者
e:—>cd E:\Java\demo
最后才是javac demo\Welcome.java
java demo.Welcome