Maven (2) Maven Hello world
1. Maven Hello world:
先建立一個測試用資料夾。
$ mkdir JavaMaven $ cd JavaMaven
使用 Maven 建構專案:
$ mvn archetype:generate \ -DartifactId=my-app \ -DgroupId=com.mycompany.app \ -DarchetypeArtifactId=maven-archetype-quickstart \ -DinteractiveMode=false
逐一分析上面的命令。
- mvn archetype:generate: 用於產生專案架構,後面 -D 開頭的東西都是這個指令的參數。
- -DartifactId=my-app: 專案名稱,會產生一個名稱為 my-app 的專案資料夾。
- -DgroupId=com.mycompany.app: Java 的 Package 簽名,會在專案中產生 com/mycompany/app 的嵌套式資料夾結構 (註: Java 的套件都是採用這種命名格式)。
- -DarchetypeArtifactId=maven-archetype-quickstart: 指定使用 maven-archetype-quickstart 的風格建立專案,會形成對應的資料夾結構。
- -DinteractiveMode=false: 如果沒有設成 false 建構專案的過程中會再詢問一些可調整參數。
建構完成的 maven-archetype-quickstart 專案資料夾結構。
. └── my-app ├── pom.xml └── src ├── main │ └── java │ └── com │ └── mycompany │ └── app │ └── App.java └── test └── java └── com └── mycompany └── app └── AppTest.java
逐一解釋資料夾結構。
- pom.xml: Project Object Model 一個描述專案關係的 xml 檔案。
- src: Source code 資料夾,用來放 Java 檔。分成 main 和 test,main 是專案主程式,test 是測試用程式。
- com/mycompany/app: 由 -DgroupId 選項產生,對應 App.java 中的第一行 package com.mycompany.app;。
- App.java 和 AppTest.java: 專案主程式和測試用程式。
2. Build and Run:
移動到 myapp 並建立 package
$ cd myapp $ mvn package
註: mvn package 可以用 mvn install 代替,若使用 mvn install 會安裝到 local repository 裡面變成可以跨專案使用的套件。
執行程式。
$ java -cp target/my-app-1.0-SNAPSHOT.jar com.mycompany.app.App
-cp target/my-app-1.0-SNAPSHOT.jar。 指定使用的 jar 檔案,執行 jar 的 com.mycompany.app.App 中的 main()。
留言
張貼留言