前沿条件
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>