Java命令行编译运行java程序,配置环境变量的意义AND解决”javac不是内部或外部命令”,但是运行java、java-version正常的问题
下面的路径均以我自己的为例,有些地方可能说得过于墨迹,因为当我第一次接触这些的时候我希望能看到一个每个步骤都很全的文档,所以我尽力把这些问题说得清楚一些.大佬如果没有绕路的话,欢迎指正.
1.Java命令行编译运行java程序
如果我们不配置环境变量,只安装了jdk的时候,如果想通过命令行编译运行java程序,就只能将.java文件放在jdk的bin目录下,然后在这个目录下进入cmd窗口(或者先进cmd窗口,再跳转到bin目录下)
然后输入编译命令: javac 文件名.java
然后bin文件夹下就出现.class文件了
然后再运行: java 文件名
2.配置环境变量的意义
我们不能把所有的java文件都放在bin里面,这样很不方便,因此配置环境变量就可以解决这个问题了
此电脑-----右键单击----属性----高级系统设置----环境变量
JAVA_HOME(不一定非是这个名字)=D:\Java1.8\jdk1.8.0_74(JDK的安装目录)
Path=%JAVA_HOME%\bin;或者D:\Java1.8\jdk1.8.0_74\bin;(加分号表示结束.注意如果前面的没以分号结束,加个分号)
%JAVA_HOME%\bin; 是相对路径,
D:\Java1.8\jdk1.8.0_74\bin 是绝对路径,使用相对路径不可以的,就试试绝对路径
然后重新打开cmd窗口,找个不在bin文件夹的java文件试试能不能编译运行
3.解决”javac不是内部或外部命令”,但是运行java、java-version正常的问题
我之前的电脑是可以使用相对路径来配置path的,javac的命令可以使用
现在用的是win10,之前在eclipse里面运行都没什么问题,进入命令行窗口(我这里也叫它cmd窗口,黑窗口)之后,java命令,java -version命令都没问题
就是javac命令不能用
于是查了资料,逛了博客发现有人说win10的path不支持配置相对路径,只能使用绝对路径.(就是上一点中”配置环境变量的意义”里有提到)
然后我就把path改了,下图是我选中path点击编辑之后的界面
然后就可以愉快的编译运行不在bin文件夹下的java文件了,可以看到我的这个java文件是在E:\exersiseOfScjp中的
题外话:
但是其实针对这个问题的解决方案也有人有异议,比如有人是win10,用的是相对路径但是没出问题的(可能是因为win10的版本不一样,毕竟有升级)
还有说通过安装目录中找到了javac.exe程序双击后,再进入cmd执行javac就成功了,这个方法我后来才看到,就没有尝试,看起来蛮靠谱的,就收集起来供大家参考
大神说不配置JAVA_HOME也可以,直接配置Path.我试了一下也能编译运行.大神说,配置JAVA_HOME的作用是便于管理.
第一次写博客,请多指正.