服务器之家

服务器之家 > 正文

在dos窗口中编译和运行java文件的方法

时间:2020-08-14 15:21     来源/作者:zjavers

配置path环境变量

在学习java时,配置path环境变量主要目的是让windows操作系统可以找到java.exe和javac.exe文件。
所以只要把带有java.exe和javac.exe的文件夹的路径配置到path环境变量中就行了。
path环境变量通过;(英文半角分号)分隔不同的路径。
JAVA_HOME的主要目的是为了方便用户更改jdk版本,可以在JAVA_HOME中直接更改而不用去path中更改,但是不使用JAVA_HOME,直接在path里去配置路径也没有任何问题。
我的电脑——>系统属性——>高级系统设置——>环境变量——>找到系统变量中的path添加路径例如本机中是
;D:\java\jdk1.8.0_201\bin
安装目录不同,以上的路径也不同。
配置成功后,在dos命令窗口中可以输入

?
1
2
3
java -version
or
javac -version

查看java或者javac 版本

?
1
java version "1.8.0_201"

出现版本号,就意味着配置成功,可以使用java和javac命令。
一般情况下,出现

'xxx' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

都是在path环境变量中找到没有相关的路径。

编译java文件

java文件都是以.java结尾的文件。
编译方式:在dos命令窗口中输入

javac 文件路径(包括文件名和后缀.java)

如何快速定位java文件路径

1)在java所在的文件目录中

在地址栏里输入cmd就可以快速定位(不包括文件名)

2)在java所在的文件目录中

按住shift键+鼠标右键,选择“在此处打开命令窗口”,也可以快速定位(不包括文件名)

3)神操作!!!!

可以把要编译的java文件直接拖拽到dos命令窗口中,会直接显示文件的路径包括文件名及后缀。

运行java程序

编译完java文件后,会在同一目录下生成一个文件名相同后缀名为.class的文件。如:
A.java —编译—>A.class
A.class是字节码文件,也是运行java程序的主要文件。
A.class类名为A,B.class类名为B。
运行方式:在dos命令窗口中输入

java  文件名(类名),不需要后缀.class
必须要在.class文件存在的目录中,执行命令。

执行java程序的过程

在dos命令窗口中输入java 类名后

  • 会先启动jvm(java虚拟机)
  • jvm启动“类加载器”(classloader),类加载器会在硬盘上找字节码文件。如:java a —找—> a.class文件
  • 如果没有找到相应的文件,会报错。

错误: 找不到或无法加载主类

如果找到了文件,类加载器会将改文件装载到jvm当中,jvm会启动“解释器”将字节码文件解释为“101000110”二进制码。操作系统执行二进制码与硬件交互。

在执行java程序的过程里上述的第二步中,类加载器在硬盘上找字节码文件的时候,默认情况下会在当前路径中找。所以在执行java命令时必须要在.class文件存在的路径中,执行命令。

classpath环境变量

配置classpath环境变量的目的是给类加载器指路。
当配置了classpath环境变量时,类加载器只会在classpath配置的路径中找,不会再去当前路径中找。

默认情况下:类加载器会到当前路径中找字节码文件。
配置classpath环境变量:类加载器会到指定的路径找字节码文件,如果指定的路径中没有相应的字节码文件,即使在当前路径下有相应的字节码文件,也会报错。

错误: 找不到或无法加载主类

总结

到此这篇关于在dos窗口中编译和运行java文件的文章就介绍到这了,更多相关dos窗口编译和运行java文件内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/zjavers/article/details/107978396

标签:

相关文章

热门资讯

2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
歪歪漫画vip账号共享2020_yy漫画免费账号密码共享
歪歪漫画vip账号共享2020_yy漫画免费账号密码共享 2020-04-07
Intellij idea2020永久破解,亲测可用!!!
Intellij idea2020永久破解,亲测可用!!! 2020-07-29
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
沙雕群名称大全2019精选 今年最火的微信群名沙雕有创意
沙雕群名称大全2019精选 今年最火的微信群名沙雕有创意 2019-07-07
返回顶部