1. 程式人生 > >maven 常用命令 mvn 釋出可執行jar包

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 
上述程式碼為每分鐘執行一次,路徑修改為相應的路徑。