maven打包如何包含本地jar包内容

版权声明:欢迎转载,注明出处即可。 https://blog.csdn.net/gaopu12345/article/details/78596830

下面使用到了两个插件,maven-shade-plugin和addjars-maven-plugin。凡是讲到打包,前一个插件基本都有说,但是第二个插件很少提到。
后面这个插件解决了这样一个问题:我有一些本地jar包,不是使用maven引入的,我该如何将这些本地jar包打入最终的jar包中呢?
有些人说可以使用system类型的dependency引入本地jar包。
有些人说system类型的dependency绝不该使用。而应该将jar包装到自己本地的仓库中,然后在dependency中按照正常引入方式引用自己本地的jar包。
正确方式是下面的,但是操作起来对新手就很不友好,我不就是想打个包嘛,搞得这么复杂。下面第二个插件addjars-maven-plugin就是将正确做法做成了一个插件,只需要提供jar包的路径就可以成功打包。

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-shade-plugin</artifactId>
    <version>3.1.0</version>
    <executions>
        <execution>
            <phase>package</phase>
            <goals>
                <goal>shade</goal>
            </goals>
            <configuration>
                <createDependencyReducedPom>false</createDependencyReducedPom>
                <transformers>
                    <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                        <mainClass>Main</mainClass>
                    </transformer>
                </transformers>
            </configuration>
        </execution>
    </executions>
</plugin>
<plugin>
    <groupId>com.googlecode.addjars-maven-plugin</groupId>
    <artifactId>addjars-maven-plugin</artifactId>
    <version>1.0.5</version>
    <executions>
        <execution>
            <goals>
                <goal>add-jars</goal>
            </goals>
            <configuration>
                <resources>
                    <resource>
                        <directory>${basedir}/lib</directory>
                    </resource>
                </resources>
            </configuration>
        </execution>
    </executions>
</plugin>
阅读更多

没有更多推荐了,返回首页