使用maven-assembly-plugin插件。

打包方式分两种,一种是把第三方jar包解压成class再加入进我们的jar包中,另一个则是不解压直接把jar包加入我们的jar中。

解压依赖的方式:

<build>

        <plugins>

            <plugin>

                <groupId>org.apache.maven.plugins</groupId>

                <artifactId>maven-assembly-plugin</artifactId>

                <configuration>

                    <archive>

                        <manifest>

                            <!--可以不指定主类-->

                            <mainClass>tdt.tile.picker.Main</mainClass>

                        </manifest>

                    </archive>

               <!--  这个的意思是依据一个id为“jar-with-dependencies”的配置文件内容来执行打包

<descriptorRefs>

                        <descriptorRef>jar-with-dependencies</descriptorRef>

                    </descriptorRefs>-->

                    <descriptors>

<!--这里的意思是依据指定的配置文件进行打包-->

                        <descriptor>src/main/resources/assembly.xml</descriptor>

                    </descriptors>

                </configuration>

                <executions>

                    <execution>

                        <id>make-assembly</id>

                        <phase>package</phase>

                        <goals>

                            <goal>single</goal>

                        </goals>

                    </execution>

                </executions>

            </plugin>

        </plugins>

</build>

 

配置文件的内容:

<assembly>

    <id>with-dependence</id><!-- 配置文件的标识,同时生成的jar包名字会把这个文本包含进去 -->

    <formats>

        <format>jar</format><!-- 打包类型,此处为jar -->

    </formats>

    <includeBaseDirectory>false</includeBaseDirectory>

    <dependencySets>

        <dependencySet>

            <unpack>true</unpack><!-- 是否解压 -->

            <scope>runtime</scope>

        </dependencySet>

    </dependencySets>

    <fileSets>

        <fileSet>

            <directory>${project.build.outputDirectory}</directory>

            <outputDirectory>/</outputDirectory>

        </fileSet>

    </fileSets>

</assembly>

效果:

 

maven将依赖一起打进jar里(解压依赖和不解压依赖方式)
解压

不解压依赖的方式:

Build的内容与上面一致,只是在配置文件里面把unpack改成false即可:

<assembly>

    <id>with-dependence</id><!-- 配置文件的标识,同时生成的jar包名字会把这个文本包含进去 -->

    <formats>

        <format>jar</format><!-- 打包类型,此处为jar -->

    </formats>

    <includeBaseDirectory>false</includeBaseDirectory>

    <dependencySets>

        <dependencySet>

            <unpack>false</unpack><!-- 是否解压 -->

            <scope>runtime</scope>

        </dependencySet>

    </dependencySets>

    <fileSets>

        <fileSet>

            <directory>${project.build.outputDirectory}</directory>

            <outputDirectory>/</outputDirectory>

        </fileSet>

    </fileSets>

</assembly>

效果:

 

maven将依赖一起打进jar里(解压依赖和不解压依赖方式)

 

相关文章:

  • 2021-10-09
  • 2022-12-23
  • 2021-11-11
  • 2022-12-23
  • 2022-12-23
  • 2021-10-28
  • 2022-12-23
  • 2021-11-06
猜你喜欢
  • 2022-12-23
  • 2021-11-02
  • 2021-05-31
  • 2021-06-05
  • 2021-07-02
  • 2022-01-11
  • 2021-08-03
相关资源
相似解决方案