1. 程式人生 > >Maven入門(二)專案的打包和執行

Maven入門(二)專案的打包和執行

在上一篇(建立第一個Maven專案)介紹了Maven的編譯和測試,

編譯和測試通過後就是打包和運行了。

一、打包

命令:mvn clean package

執行命令後輸出資訊如下:


打包後在target/目錄中會生成helloworld-1.0-SNAPSHOT.jar檔案。

二、安裝執行

命令:mvn clean install

執行命令後輸出資訊如下:


從輸出資訊可以看出,jar被安裝到了Maven本地倉庫中。

到目前為止,從編譯到安裝都已經執行完了,但是還沒有真正執行,因為我們的專案主檔案中是有Main方法的。

為了讓其能夠執行,我們需要讓Maven生成可執行的jar檔案,這就需要在pom.xml中配置一下maven-shade-plugin外掛。

配置外掛如下:

<build>
		<plugins> 
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-shade-plugin</artifactId>
				<version>1.4</version>
				<executions>
				  <execution>
					<phase>package</phase>
					<goals>
					  <goal>shade</goal>
					</goals>
					<configuration>
					  <transformers>
						<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
						  <mainClass>com.kafei.mvnproject.helloworld.HelloWorld</mainClass>
						</transformer>
					  </transformers>
					</configuration>
				  </execution>
				</executions>
		  </plugin>
		</plugins> 
	</build>
在pom.xml的project元素中新增。

配置的mainClass為com.kafei.mvnproject.helloworld.HelloWorld,專案在打包時會將該資訊放到MANIFEST中。現在執行mvn clean install,待構建完之後開啟

target/目錄,就可以看到helloworld-1.0-SNAPSHOT.jar和original-helloworld-1.0-SNAPSHOT.jar,前者是可執行的jar,後者是原始的jar。

用記事本開啟helloworld-1.0-SNAPSHOT.jar的META-INF/MANIFEST.MF檔案,可以看到如下資訊:

      com.kafei.mvnproject.helloworld.HelloWorld

現在在專案根目錄執行該jar檔案輸出如下:

至此Maven專案的打包、測試已經完成。