簡體   English   中英

傳統上,你在哪里存儲Java .class文件?

[英]Where do you store Java .class files, conventionally?

我有一個Java src文件夾,我在其中存儲我的.java文件。 然后我使用Terminal編譯它們並最終在同一目錄中獲取.class文件。 這不一定會打擾我,但我從未見過這是專業的。

通過專業約定(如果存在),在項目目錄中的哪個文件夾中應該存儲已編譯的.class文件?

如果您不熟悉它,則應該查看Java類路徑的主題。 我記得在我第一次開始使用Java編程時發現這種混亂。

Java中有.class文件的定義搜索路徑; 當你運行設置類路徑的java -cp blahblahblah java -jar blahblahblah.jar打開一個JAR文件 ,而.jar文件的清單可能會指定類路徑。 默認的類路徑位於當前目錄中。

通常,您將Java類放在文件系統中的分層目錄結構中的包中,在這種情況下,Java編譯器也會將.class文件放在相應的結構中。

如果從命令行運行javac ,則-d參數指定.class文件的目標根目錄。

一個典型的項目看起來像這樣,假設你的包名為com.example.foo ,它包含Foo.java和Bar.java:

project_dir/
   src/
      com/
         example/
            foo/
               Foo.java
               Bar.java
   bin/
      com/
         example
            foo/
               Foo.class
               Bar.class

Java編譯器將執行-d bin作為目標目錄,它會創建.class對應文件.java文件。 但目的地不必被稱為bin ; 如果你願意的話,你可以稱之為Freddy或者dumbass ,盡管這可能會讓人們習慣於bin或者build

很多時候一個Java程序或庫建立的時候, .class文件只是朝着建立一個.jar文件(實際上就是用一個.zip格式的臨時步驟.jar擴展,包含.class文件和一點點元數據),當您實際運行它們時,如果將它包含在類路徑中,Java將使用.jar文件。

暫無
暫無

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

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