Maven没有将一些JAR复制到WEB-INF / lib

时间:2013-04-12 07:37:06

标签: maven maven-war-plugin

我在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文件 我正在使用以下war插件

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

        </plugin>

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

2 个答案:

答案 0 :(得分:2)

尝试删除<optional>true</optional>

答案 1 :(得分:1)

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

  

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

     

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

然后optional依赖关系不会包含在WEB-INF/lib

我希望这可能有所帮助。

相关问题