zoukankan      html  css  js  c++  java
  • maven将依赖第三方包打包(package)到jar中

    前提:项目是一个纯maven的java工程,通过idea中file-->new-->project-->maven来创建的,不是spring boot工程(不是通过file-->new-->project-->,spring boot工程通过默认的)就可以,不需要额外操作。

    1.遇到一个问题,项目打包,结果jar中没有第三方包

    目录结构

    pom.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
    
        <groupId>com</groupId>
        <artifactId>EnctyptParamTool</artifactId>
        <version>1.0-SNAPSHOT</version>
        <properties>
            <java.version>1.8</java.version>
            <spring-cloud.version>Greenwich.SR1</spring-cloud.version>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <fastjson.version>1.2.32</fastjson.version>
        </properties>
        <dependencies>
    <!--本地添加模式-->
    <!-- <dependency> <groupId>com</groupId> <artifactId>hutool-all</artifactId> <scope>system</scope> <version>4.5.9</version> <systemPath>${project.basedir}/lib/hutool-all-4.5.9.jar</systemPath> --> <!--辅助工具类 maven仓库引入方式--> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>4.5.9</version> </dependency> </dependencies> </project>

    maven: clean-->compile-->package

    没有hutool.jar

    2.解决

    猜测是pom.xml中少了打包的要素

    增加build插件

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
    
        <groupId>com</groupId>
        <artifactId>EnctyptParamTool</artifactId>
        <version>1.0-SNAPSHOT</version>
        <properties>
            <java.version>1.8</java.version>
            <spring-cloud.version>Greenwich.SR1</spring-cloud.version>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <fastjson.version>1.2.32</fastjson.version>
        </properties>
        <dependencies>
            
            <!--辅助工具类-->
            <dependency>
                <groupId>cn.hutool</groupId>
                <artifactId>hutool-all</artifactId>
                <version>4.5.9</version>
            </dependency>
    
        </dependencies>
    
        <build>
            <plugins>
                <plugin>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <configuration>
                        <!--这部分可有可无,加上的话则直接生成可运行jar包-->
                        <!--<archive>-->
                        <!--<manifest>-->
                        <!--<mainClass>${exec.mainClass}</mainClass>-->
                        <!--</manifest>-->
                        <!--</archive>-->
                        <descriptorRefs>
                            <descriptorRef>jar-with-dependencies</descriptorRef>
                        </descriptorRefs>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    </project>

    在maven中执行

    结果(依赖的包已经打进去了,但变成class):

     3.打入jar包

    修改插件配置

    C:UsersLenovo.m2 epositoryorgapachemavenpluginsmaven-assembly-plugin2.2-beta-5

     用winzip打开,并把jar-with-dependencies.xml文件拖(按住鼠标左键)出来,修改改unpack为false

    把修改后的文件再拖入压缩包

    重新打包

    结果:

  • 相关阅读:
    [AGC020E] Encoding Subsets
    [Topcoder16346]TwoPerLine
    CF913E Logical Expression
    英语面试
    CRM
    WEB使用第三方支付服务大致流程
    OO语言 prototype 初级用法
    flash设置字体
    air 提示问题
    c#里的BYTE
  • 原文地址:https://www.cnblogs.com/pu20065226/p/11052934.html
Copyright © 2011-2022 走看看