天天看點

Maven-使用Maven指令編譯java代碼

預設情況下Maven假設項目主代碼位于src/main/java目錄,我們遵循Maven的約定,建立該目錄,然後在該目錄下建立子目錄com/juvenxu/mvnbook/helloworld,并建立檔案HelloWorld.java。

Maven-使用Maven指令編譯java代碼

我建立的項目存放在本地E:\work\resource\code,建立好目錄和檔案後如下

Maven-使用Maven指令編譯java代碼

關于java代碼有兩點需要注意。首先在絕大多數情況下,應該把項目主代碼放到src/main/java目錄下(遵循Maven的約定),而無需額外的配置,Maven會自動搜尋該目錄,找到項目主代碼。

其次,該java類的包名是com.juvenxu.mvnbook.helloworld,這與在POM中定義的groupId和artifactId相吻合。

Maven-使用Maven指令編譯java代碼

一般來說,項目中的java類的包都應該基于項目的groupId和artifactId,這樣更加清晰,更加符合邏輯。

在項目根目錄,即E:\work\resource\code\hello-world目錄下執行mvn clean compile,輸出如下:

Maven-使用Maven指令編譯java代碼

clean告訴Maven清理輸出目錄target/,compile告訴Maven編譯項目的主代碼,從輸出中看到Maven首先執行了clean任務,删除/target目錄。預設情況下,Maven建構的所有輸出都在target/目錄中;接着執行resources任務(未定義項目資源,暫且忽略);最後執行compile任務,将項目主代碼編譯至target/classe目錄(編譯好的類為HelloWorld.class)

Maven-使用Maven指令編譯java代碼

至此,Maven在沒有任何額外的配置的情況下就執行了項目的清理和編譯任務。