簡體   English   中英

Java和不使用IDE時進行編譯

[英]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之類的工具 ,以簡化構建的配置(如果復雜)。

查看javac文檔 您可以傳遞多個源文件,或指定源目錄。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM