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


    前沿条件

    maven下载:http://maven.apache.org/download.cgi

    配置环境变量

          MAVEN_HOME= D:Softwaresapache-maven-3.2.2

    PATH 

     添加;%MAVEN_HOME%in;到尾部

    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>  
  • 相关阅读:
    js经典试题之数据类型
    js单行写一个评级组件
    Spring Cloud Gateway的全局异常处理
    spring cloud gateway 全局过滤器
    公司ES升级带来的坑怎么填?
    Sentinel: 分布式系统的流量防卫兵
    微信小程序之页面打开数量限制
    微信小程序登录那些事
    API数据加密框架monkey-api-encrypt
    微信小程序之启动页的重要性
  • 原文地址:https://www.cnblogs.com/hwaggLee/p/6053561.html
Copyright © 2020-2023  润新知