前沿條件
maven下載:http://maven.apache.org/download.cgi
配置環境變量
MAVEN_HOME= D:\Softwares\apache-maven-3.2.2
PATH
添加;%MAVEN_HOME%\bin;到尾部
CMD測試是否配置成功
輸入mvn -v
maven導出項目的所有jar
進入工程pom.xml 所在的目錄下,執行如下命令:
mvn dependency:copy-dependencies
存在目錄(導出jar會存在默認目錄 target/dependency)
如何要導出到自定義目錄
導出到自定義目錄中 在maven項目下創建lib文件夾,輸入以下命令: 1、mvn dependency:copy-dependencies -DoutputDirectory=lib; 2、maven項目所依賴的jar包都會復制到項目目錄下的lib目錄下。
可以設置依賴級別
通常使用compile級別 mvn dependency:copy-dependencies -DoutputDirectory=lib -DincludeScope=compile
進入正文打jar可runnable的包
通過maven到包基本都是通過pom.xml配置信息的
打包動作如圖
打包jar包條件
打jar包現有的插件
學習來源:
http://chenzhou123520.iteye.com/blog/1706242
http://chenzhou123520.iteye.com/blog/1971322
http://blog.csdn.net/bluishglc/article/details/7596118
maven-assembly-plugin
在pom.xml插件中配置插件信息
<plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <appendAssemblyId>false</appendAssemblyId> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> <archive> <manifest> <mainClass>com.MainTest</mainClass> <!-- 運行的main類全路徑--> </manifest> </archive> </configuration> <executions> <execution> <id>make-assembly</id> <phase>package</phase> <goals> <goal>assembly</goal> </goals> </execution> </executions> </plugin>
其中<mainClass></mainClass>的值表示此工程的入口類,也就是包含main方法的類
打包執行方式有兩種:
1.通過項目右擊-》run as-》maven install
2.直接到項目根目錄執行mvn assembly:assembly
最終會在項目的target目錄下生成兩個jar,一個帶第三方包的jar,一個不帶第三方包的jar
maven-shade-plugin
pom配置(推薦)
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version> 1.7.1</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/spring.handlers</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/spring.schemas</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <mainClass>com.MainTest</mainClass> </transformer> </transformers> </configuration> </execution> </executions> </plugin>