Maven - 从Jar中删除依赖

时间:2015-01-08 23:29:40

标签: eclipse maven jar dependencies

我在我的应用程序的pom.xml中使用Jar文件作为依赖项。不幸的是,这个jar中有一个pom.xml和pom.properties文件,而我的maven应用程序正在尝试下载这些文件中存在的额外工件。

您能否告诉我如何排除这些文件或停止寻找额外的工件。

示例:我正在添加abc.jar

<dependency>
<groupId>xyz</groupId>
<artifactId>abc</artifactId>
<version>1</version>
</dependency>

现在“abc.jar”有自己的pom.xml,其中存在一个工件,如下所示

<parent>
<groupId>DEFGH</groupId>
<artifactId>NewArtifact</artifactId>
<version>1</version>
</parent>

注意:我尝试使用“依赖”标签下的“排除”,但没有用。

1 个答案:

答案 0 :(得分:1)

看一下这个片段:

  <dependency>
    <groupId>org.squirrelframework</groupId>
    <artifactId>squirrel-foundation</artifactId>
    <version>0.3.2</version>
    <!-- explicitly disable squirrel-foundation dependency because it messes up project logging backend configuration -->
    <exclusions>
      <exclusion>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
      </exclusion>
      <exclusion>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
      </exclusion>
    </exclusions>
  </dependency>

在这个片段中,我明确地删除了对log4j和slf4j-log4j12的依赖关系以及squirrel-foundation包。

如果你可以控制依赖jar的构建过程,你可以使用this recipe从jar中完全排除pom.xml和pom.properties,但我怀疑这是一个很好的解决方案。以某种其他方式处理额外的依赖关系会更正确