目标: 将 ~/java 加入classpath
eclipse: 右键选中 Project, Properties, Java Build Path, Libraries, Add External Class Folder,
此时, 如果想要让home folder下的 java 文件夹成为 classpath, 选择 ~/java 即可。
要求:在这个classpath ~/java 中的 所有.java文件里, 比如 ~/java/username/util/RandomNewClass.java 中必须在开头声明: package username.util;
这样, 在当前Project里, 就可以 import username.util.*; 然后就可以用这个 RandomNewClass 类了。
javac 和 java 的使用就麻烦了一些, 反正我就是不喜欢命令行= =
首先:javac -cp ~/java RandomNewClass.java
然后: java -cp .:~/java RandomNewClass (
/*错误:如果RandomNewClass.class 是在当前目录的话, 不是的话就把前面那个点改成这个.class 所在的目录*/
正确: 前面这个点是RandomNewClass 的 classpath, 因为当前我写的RandomNewClass.java 里面没有申明 package, 然后还放在了home folder...)
至于为什么compile的时候不需要当前目录, 而运行时又需要,我就不知道了。。
经实验大概是这样: compile的时候, 那个 RandomNewClass.java 本身已经是文件了,
如果这个 .java文件不在当前目录的话,compile的时候是要指出它的绝对路径的, 所以classpath里只要加入那些有被 import 过的就行了
但是当 java 运行的时候: java -cp classpath ClassName, 这里这个ClassName不是file, 需要给定它所在的package的全称, 类似于 username.uitl.RandomNewClass 这样, 所以为了定位这个 RandomNewClass 的 .class 文件在哪里, 也要给出它的 classpath, 这样 classpath + package (隐含部分path) + RandomNewClass.class 就是这个 .class file 的真正位置了。
eclipse 中添加自定义 classpath 的方法,以及 javac 和 java 的一些使用细节
最新推荐文章于 2023-01-30 15:39:08 发布