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

时间:2022-05-05 11:51:18

前沿条件

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>