mvn-打jar运行包(含环境变量配置)

时间:2021-10-21 22:36:23

前沿条件

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)

mvn-打jar运行包(含环境变量配置)

如何要导出到自定义目录

导出到自定义目录中
  在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配置信息的

打包动作如图

mvn-打jar运行包(含环境变量配置)

打包jar包条件

mvn-打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>