eclipse 中添加自定義 classpath 的方法,以及 javac 和 java 的一些使用細節

目標: 將 ~/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 的真正位置了。java

相關文章
相關標籤/搜索