【问题标题】:Maven not copying some JAR to WEB-INF/libMaven 没有将一些 JAR 复制到 WEB-INF/lib
【发布时间】:2013-04-12 07:37:06
【问题描述】:

我在 Eclipse 中使用 Maven 创建了一个 Web 项目。我需要该项目的 pentaho 库 jar,这是我的依赖项

<dependency>
    <groupId>pentaho-library</groupId>
    <artifactId>libbase</artifactId>
    <version>1.2.8</version>
    <optional>true</optional>
</dependency>

当我运行mvn:compilemvn eclipse:eclipse 时,它正在下载maven_repo 本地目录中的JAR 文件 我正在使用以下战争插件

        <plugin>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.3</version>

        </plugin>

问题是,当我运行mvn war:war 创建war 文件时,它没有将libbase-1.2.8.jar 复制到WEB-INF/lib 文件夹。但它正在复制所有其他 JAR 文件。有什么问题?

【问题讨论】:

    标签: maven maven-war-plugin


    【解决方案1】:

    尝试删除&lt;optional&gt;true&lt;/optional&gt;

    【讨论】:

      【解决方案2】:

      Introduction to the Dependency Mechanism: Transitive Dependencies 告诉我们optional 如下:-

      可选依赖项 - 如果项目 Y 依赖于项目 Z,项目 Y 的所有者可以使用 @987654324 将项目 Z 标记为 optional dependency @ 元素。

      当项目 X 依赖于项目 Y 时,X 将仅依赖于 Y 而不依赖于 Y 的可选依赖 Z。然后,项目 X 的​​所有者可以根据自己的选择显式添加对 Z 的依赖项。 (将可选依赖项视为“默认排除”可能会有所帮助。

      那么optional 依赖将不会包含在我们的WEB-INF/lib 中。

      我希望这会有所帮助。

      【讨论】:

      • 是的,我已经删除了optional
      猜你喜欢
      • 1970-01-01
      • 2016-03-12
      • 2018-02-24
      • 2011-04-30
      • 2018-10-22
      • 2020-05-07
      • 2015-02-28
      • 2012-04-01
      • 1970-01-01
      相关资源
      最近更新 更多