使用maven-assembly-plugin,我可以根据我的项目特定需求创建一个*.jar。它解包所有依赖项和传递依赖项。但与此同时,我有一个第三方jar,它不在maven存储库中。这是在我的项目本地引用。是否有一种方法来指示maven-assembly-plugin解包给定的jar文件,以及?
我的jar创建程序集描述符是:
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
<id>packing-jar</id>
<formats>
<format>jar</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<fileSets>
<fileSet>
<directory>${project.build.outputDirectory}/com</directory>
<outputDirectory>/com</outputDirectory>
</fileSet>
</fileSets>
<dependencySets>
<dependencySet>
<outputDirectory>/</outputDirectory>
<unpack>true</unpack>
<useProjectArtifact>false</useProjectArtifact>
</dependencySet>
</dependencySets>
</assembly>
由于我的需求只需要解包一个第三方jar,所以我尝试了一个转机。使用maven install
在本地安装该jar。因此,由于该jar现在是maven依赖项的一部分,汇编插件将解压缩它。