关于doc编译java记事本文件的几点说明

本文详细解析了使用javac命令编译Java文件时的注意事项,包括如何指定编译目标目录、解决编码问题及处理包路径依赖。同时,介绍了Java解释器如何根据classpath和包名查找.class文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.首先说一下javac命令去编译这个文件时需要注意的问题。
上个文章说过这个javac编译命令我们可以用javac -d . +类名.java文件来代替,代表我们把编译生成的.class文件放到了的当前目录。这个命令中,javac后面要加上空格,然后d后面和.后面都要加上空格。具体如
javac -d . HelloWorld.java。
2.如果我们在编译过程中出现了下图所示的问题。
在这里插入图片描述
这个时候我们需要更改一下这个编译的命令用:
:javac -encoding UTF-8 文件名.java即可。
3.当我们运行的时候如果出现了下图的问题:
在这里插入图片描述
这里就涉及到了包的问题。
在这里插入图片描述
这是我的程序的内容,这个程序在 eclipse中运行是完全没有问题的,大家可以想一下,咱们在eclipse中要想编写和运行一段程序,我们总是先建一个包,然后在包下面建一个类,然后在这个类里再去写这个程序。我们写的时候会注意到一个问题,这时候eclipse会自动在我们的程序上面的第一行自动写上package +包名这样的一行程序。
然后我们在doc管理窗口下,是没有软件给我们提供这样的便利的。我在程序中建立了一个包lee,所以我们既然是把这个东西放在了当前路径下去运行,那么我们应该也要在当前的路径下有一个这样的包,然后才能去运行。如图所以,我在当前路径下,建立了一个我程序中用到的lee包,然后,我把生第一步编译生成的.class文件和java文件放进去,
然后把运行命令改为:java 包名.类名,运行成功。
在这里插入图片描述
在这里插入图片描述
java执行class文件对package的路径是强依赖的。它在执行的时候会严格以当前用户路径为基础,按照package指定的包路径转化为文件路径去搜索class文件,所以你的包放在哪里,你就需要把你的java和class文件放在哪里。
来看看Java解释器的运行过程吧:首先,找出环境变量CLASSPATH(可以通过操作系统来设置)。CLASSPATH包含一个或多个目录,用作查找.class文件的根目录。从根目录开始,解释器获取包名称并将每个句点替换成反斜杠,以从CLASSPATH根中产生一个路径(例如,package fruit.Apple就变成为fruit/Apple或fruit/Apple或其他,这将取决于操作系统)。得到的路径会与CLASSPATH中的各个不同的根目录路径相连接以获得一个完整的目录路径,解释器就在这些目录中查找与你所需要的类名称相同的.class文件。(此外,解释器还会去查找某些涉及Java解释器所在位置的标准目录。)
所以在这里java寻找的就是classpath+package名。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值