【问题标题】:Exclude folder from dependency in maven从maven中的依赖项中排除文件夹
【发布时间】:2016-02-28 06:25:10
【问题描述】:

是否可以在maven中为依赖定义目录排除?

我在 pom.xml 中定义了一个依赖项。编译时,此依赖项被添加到 META-INF/lib 中。问题是,该库包含大约 40 MB 我不需要的 XML 文件,所以我想摆脱它们。

类似这样的:

<dependency>
  <groupId></groupId>
  <artifactId></artifactId>
  <version></version>
  <scope>test</scope>
  <exclusions>
    <exclusion>
      <exclude>**/xml/*</exclude>
    </exclusion>
    ...

这是我想用作依赖项的内容: Jira Func Tests

带有 XMLs 的文件夹在 META-INF/lib/jira-func-tests-6.4.6.jar/XML 的编译后的 jar 中 在编译之前,我猜 XML 文件夹在 jira-func-tests 的资源文件夹中?

【问题讨论】:

  • 真的META-INF/lib?这个项目是war 项目?
  • 在编译前显示项目结构文件中*/XML/的位置,以及打包应用程序(war、jar、ear..)?

标签: java maven dependencies


【解决方案1】:

那些 XML 文件必须“附加到某物”。这是一个通常工作的例子,即使在 maven-2 中也应该工作。因此要找到这些 XML 文件与 groupID 和 artifactID 之间的联系。

<dependency>
  <groupId>log4j</groupId>
  <artifactId>log4j</artifactId>
  <version>1.2.15</version>
  <scope>provided</scope>
  <exclusions>
    <exclusion>
      <groupId>javax.mail</groupId>
      <artifactId>mail</artifactId>
    </exclusion>
    <exclusion>
      <groupId>javax.jms</groupId>
      <artifactId>jms</artifactId>
    </exclusion>
    <exclusion>
      <groupId>com.sun.jdmk</groupId>
      <artifactId>jmxtools</artifactId>
    </exclusion>
    <exclusion>
      <groupId>com.sun.jmx</groupId>
      <artifactId>jmxri</artifactId>
    </exclusion>
  </exclusions>
</dependency>

【讨论】:

    猜你喜欢
    • 2015-09-23
    • 1970-01-01
    • 2016-06-11
    • 1970-01-01
    • 2012-02-25
    • 2015-06-08
    • 2015-09-08
    • 1970-01-01
    • 2011-12-15
    相关资源
    最近更新 更多