指示maven程序集插件解压缩未在pom.xml中定义为依赖关系的thirdparty jar

时间:2013-05-08 07:05:58

标签: maven plugins maven-assembly-plugin

使用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>

1 个答案:

答案 0 :(得分:1)

由于我的要求只需要解压缩一个第三方jar,我尝试了一个转机。使用maven install在本地安装该jar。因此,因为该jar现在是maven依赖项的一部分,程序集插件将解压缩它。