[英]Java and compiling when not using a IDE
我在Java中了解到,每個類都被強制放入一個文件中。
因此,如果我有類似的課程:
/my_project/main.java
/my_project/classes/user.java
/my_project/classes/other.java
我的main.java引用了用戶和其他文件,我將如何通過命令行對其進行編譯?
如果要使用我正在引用的外部.jar,並將它們放在特定的文件夾中,我該如何在編譯時也將其包括在內? (或者是否有一個一般的地方,我可以將它們放置在它們將被自動拾取的地方,例如python這樣做的方式)
要進行編譯,您需要從my_project文件夾中指定每個源文件:
javac classes/user.java classes/other.java main.java
您還可以使用-cp選項為類路徑指定jar文件:
javac -cp myjarfile.jar main.java
您可能還需要弄弄-cp標志,以確保您的classes文件夾在classpath中。
首先,使Java類以小寫字母開頭是不好的樣式。
只有公共類需要在其自己的文件中,但是您可以根據需要向同一文件中添加任意多個包私有類(盡管這被認為是較差的樣式)。
也就是說,編譯代碼的最簡單方法是:
javac /my_project/main.java /my_project/classes/user.java /my_project/classes/other.java
無論如何,正確的代碼布局應是使類位於與它們的包相匹配的目錄結構中。
編輯 :這里有一個相當不錯的約定解釋, http://www.particle.kth.se/~lindsey/JavaCourse/Book/Part1/Java/Chapter05/packagesImport.html
除了上述答案之外,您還可以使用Apache Ant之類的工具 ,以簡化構建的配置(如果復雜)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.