1. 程式人生 > >java中的Maven專案的打包成jar或者war

java中的Maven專案的打包成jar或者war

將maven專案打包。pom.xml中如果沒有指定打包型別,預設打包型別為:jar。我們可以簡單地執行命令打包: mvn clean pachage

類似地,maven會在打包之前執行編譯,測試等操作。如以打jar包為例,jar:jar任務負責打包,實際上就是jar外掛的jar目標將專案主程式碼打包成一個名為xxxxxx-1.0-SNAPSHOT.jar的檔案。該檔案也位於target/輸出目錄中,它是根據artifact-version.jar的規則進行命名的,如有需要,還可以使用finalName來自定義該檔案的名稱,這裡暫且不展開,後面會詳細解釋。

在打包之後,又執行了安裝任務install:install。從輸出可以看到任務將專案輸出的jar安裝到了maven本地倉庫中,可以開啟相應的資料夾看到專案的pom和jar。之前我們說只有構件被下載到本地倉庫後,才能由所有Maven專案使用,這裡同樣的道理,只有將自己編寫的專案安裝到本地倉庫之後,其他maven專案才能使用它。

我們已經體驗了maven最主要的命令:mvn clean compile,mvn clean test,mvn clean package,mvn clean install。執行test之前是會先執行compile的,執行package之前是會先執行test的,而類似地,install之前會執行package。可以在任何一個maven專案中執行這些命令。

1、打包成jar包,在pox.xml中配置下面程式碼

<plugin>  
                <artifactId>maven-assembly-plugin</artifactId>  
                <configuration>  
                    <appendAssemblyId>false</appendAssemblyId>  
                    <descriptorRefs>  
                        <descriptorRef>jar-with-dependencies</descriptorRef>  
                    </descriptorRefs>  
                    <archive>  
                        <manifest>  
                            <mainClass>com.ebay.montage.eventprocessor.collector.CodeRollOutEventDataCollector</mainClass>  
                        </manifest>  
                    </archive>  
                </configuration>  
                <executions>  
                    <execution>  
                        <id>make-assembly</id>  
                        <phase>package</phase>  
                        <goals>  
                            <goal>assembly</goal>  
                        </goals>  
                    </execution>  
                </executions>  
            </plugin>
這樣執行package命令就可以打包成jar包了(小白不會使用命令列,直接視覺化操作,IDE是intellij)