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

来源:互联网 发布:纸上网络拓扑图怎么画 编辑:程序博客网 时间:2024/05/17 22:31

下面使用到了两个插件,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>
原创粉丝点击