maven 常用命令 mvn 釋出可執行jar包
Maven常用命令:
1. 建立Maven的普通java專案:
mvn archetype:create
-DgroupId=packageName
-DartifactId=projectName
2. 建立Maven的Web專案:
mvn archetype:create
-DgroupId=packageName
-DartifactId=webappName
-DarchetypeArtifactId=maven-archetype-webapp
3. 編譯原始碼: mvn compile
4. 編譯測試程式碼:mvn test-compile
5. 執行測試:mvn test
6. 產生site:mvn site
7. 打包:mvn package
8. 在本地Repository中安裝jar:mvn install
9. 清除產生的專案:mvn clean
10. 生成eclipse專案:mvn eclipse:eclipse
11. 生成idea專案:mvn idea:idea
12. 組合使用goal命令,如只打包不測試:mvn -Dtest package
13. 編譯測試的內容:mvn test-compile
14. 只打jar包: mvn jar:jar
15. 只測試而不編譯,也不測試編譯:mvn test -skipping compile -skipping test-compile
( -skipping 的靈活運用,當然也可以用於其他組合命令)
16. 清除eclipse的一些系統設定:mvn eclipse:clean
ps:
一般使用情況是這樣,首先通過cvs或svn下載程式碼到本機,然後執行mvn eclipse:eclipse生成ecllipse專案檔案,然後匯入到eclipse就行了;修改程式碼後執行mvn compile或mvn test檢驗,也可以下載eclipse的maven外掛。
mvn -version/-v 顯示版本資訊
mvn archetype:generate 建立mvn專案
mvn archetype:create -DgroupId=com.oreilly -DartifactId=my-app 建立mvn專案
mvn package 生成target目錄,編譯、測試程式碼,生成測試報告,生成jar/war檔案
mvn jetty:run 執行專案於jetty上,
mvn compile 編譯
mvn test 編譯並測試
mvn clean 清空生成的檔案
mvn site 生成專案相關資訊的網站
mvn -Dwtpversion=1.0 eclipse:eclipse 生成Wtp外掛的Web專案
mvn -Dwtpversion=1.0 eclipse:clean 清除Eclipse專案的配置資訊(Web專案)
mvn eclipse:eclipse 將專案轉化為Eclipse專案
在應用程式用使用多個儲存庫
<repositories>
<repository>
<id>Ibiblio</id>
<name>Ibiblio</name>
<url>http://www.ibiblio.org/maven/</url>
</repository>
<repository>
<id>PlanetMirror</id>
<name>Planet Mirror</name>
<url>http://public.planetmirror.com/pub/maven/</url>
</repository>
</repositories>
mvn deploy:deploy-file -DgroupId=com -DartifactId=client -Dversion=0.1.0 -Dpackaging=jar -Dfile=d:\client-0.1.0.jar -DrepositoryId=maven-repository-inner -Durl=ftp://xxxxxxx/opt/maven/repository/
釋出第三方Jar到本地庫中:
mvn install:install-file -DgroupId=com -DartifactId=client -Dversion=0.1.0 -Dpackaging=jar -Dfile=d:\client-0.1.0.jar
-DdownloadSources=true
-DdownloadJavadocs=true
mvn -e 顯示詳細錯誤 資訊.
mvn validate 驗證工程是否正確,所有需要的資源是否可用。
mvn test-compile 編譯專案測試程式碼。 。
mvn integration-test 在整合測試可以執行的環境中處理和釋出包。
mvn verify 執行任何檢查,驗證包是否有效且達到質量標準。
mvn generate-sources 產生應用需要的任何額外的原始碼,如xdoclet。
常用命令:
mvn -v 顯示版本
mvn help:describe -Dplugin=help 使用 help 外掛的 describe 目標來輸出 Maven Help 外掛的資訊。
mvn help:describe -Dplugin=help -Dfull 使用Help 外掛輸出完整的帶有引數的目標列
mvn help:describe -Dplugin=compiler -Dmojo=compile -Dfull 獲取單個目標的資訊,設定 mojo 引數和 plugin 引數。此命令列出了Compiler 外掛的compile 目標的所有資訊
mvn help:describe -Dplugin=exec -Dfull 列出所有 Maven Exec 外掛可用的目標
mvn help:effective-pom 看這個“有效的 (effective)”POM,它暴露了 Maven的預設設定
mvn archetype:create -DgroupId=org.sonatype.mavenbook.ch03 -DartifactId=simple -DpackageName=org.sonatype.mavenbook 建立Maven的普通java專案,在命令列使用Maven Archetype 外掛
mvn exec:java -Dexec.mainClass=org.sonatype.mavenbook.weather.Main Exec 外掛讓我們能夠在不往 classpath 載入適當的依賴的情況下,執行這個程式
mvn dependency:resolve 打印出已解決依賴的列表
mvn dependency:tree 列印整個依賴樹
mvn install -X 想要檢視完整的依賴蹤跡,包含那些因為衝突或者其它原因而被拒絕引入的構件,開啟 Maven 的除錯標記執行
mvn install -Dmaven.test.skip=true 給任何目標新增maven.test.skip 屬性就能跳過測試
mvn install assembly:assembly 構建裝配Maven Assembly 外掛是一個用來建立你應用程式特有分發包的外掛
mvn jetty:run 呼叫 Jetty 外掛的 Run 目標在 Jetty Servlet 容器中啟動 web 應用
mvn compile 編譯你的專案
mvn clean install 刪除再編譯
mvn hibernate3:hbm2ddl 使用 Hibernate3 外掛構造資料庫
mvn 釋出可執行jar包
1.首先將maven搭建的工程打成jar
需要在將該工程所支援的類庫打在一個包中(預設情況下,maven在做mvn pakage時,只是將專案編譯打包到一個jar中,其他的類庫則需要引用才行)。
在pom.xml中加入以下外掛
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<appendAssemblyId>false</appendAssemblyId>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>cn.vsp.TestMain</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>assembly</goal>
</goals>
</execution>
</executions>
</plugin>
上述程式碼中在<mainClass></mainClass>之間是填寫程式的入口類,即含main方法的類
2.編輯完上述外掛後,再執行
mvn assembly:assembly
這是就會在target目錄下生成 *.jar 檔案
3.執行jar檔案
java -jar *.jar
4.做定時任務
如果是在linux系統中做定時任務:
第一種方式:可以寫一個shell指令碼直接執行該jar檔案,shell指令碼的編寫可以參考我的linux svn完全備份和定時備份博文
第二種方式:
sudo crontab -l
*/1 * * * * * sudo /usr/bin/java -jar *.jar
上述程式碼為每分鐘執行一次,路徑修改為相應的路徑。