mvn-打jar运行包(含环境变量配置)
前沿条件
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>
知识只有共享才能传播,才能推崇出新的知识,才能学到更多,这里写的每一篇文字/博客,基本都是从网上查询了一下资料然后记录下来,也有些是原滋原味搬了过来,也有时加了一些自己的想法