快捷搜索: 王者荣耀 脱发

maven打包成第三方jar包且把pom依赖包打入进来的方法

maven打包成第三方jar包且把pom依赖包打入进来的方法

一、添加插件

添下方maven插件plugin到项目的pom.xml中

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-assembly-plugin</artifactId>
            <configuration>
                <archive>
                    <manifest>
                        <!--指定命令行 java -jar XXX.jar 运行程序的主类入口 -->
                        <!--不配置就会报错-->
                        <mainClass>com.jia.App</mainClass>
                    </manifest>
                </archive>
                <descriptorRefs>
                    <!--配置含有全部依赖的jar包后缀,用于区别默认的jar包-->
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
            </configuration>
        </plugin>
    </plugins>
</build>

如果出现class重名的情况,这时候就要把最新的版本号添加进去即可

二、打包

打包命令:mvn assembly:assembly,执行成功后会在target文件夹下多出一个以-jar-with-dependencies结尾的jar包. 这个jar包就包含了项目所依赖的所有jar的class。

三、修改插件

3.如果不希望依赖的jar包变成class的话,可以修改ASSEMBLY插件.

3.1 找到assembly在本地的地址,在本地maven仓库里找到

3.2 用WINZIP或解压工具打开此目录下的maven-assembly-plugin-2.4.jar, 找到assembliesjar-with-dependencies.xml

3.3 把里面的UNPACK改成FALSE即可

以下第二种方法

<!-- <build>
     <plugins>

         <plugin>
             <groupId>org.apache.maven.plugins</groupId>
             <artifactId>maven-shade-plugin</artifactId>
             <version>2.4.1</version>
             <executions>
                 <execution>
                     <phase>package</phase>
                     <goals>
                         <goal>shade</goal>
                     </goals>
                     <configuration>
                         <transformers>
                             <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                 <mainClass>redisaliyun.RedisAliyunApplication</mainClass>
                             </transformer>
                         </transformers>
                     </configuration>
                 </execution>
             </executions>
         </plugin>
         <plugin>
             <artifactId>maven-compiler-plugin</artifactId>
             <version>2.3.2</version>
             <configuration>
                 <source>1.8</source>
                 <target>1.8</target>
             </configuration>
         </plugin>
     </plugins>

 </build>-->
经验分享 程序员 微信小程序 职场和发展