防止maven将依赖项复制到WEB-INF \ lib文件夹

时间:2012-05-28 01:01:41

标签: maven

我在pom.xml中有这种依赖:

    <dependency>
        <groupId>com.google.appengine</groupId>
        <artifactId>appengine-testing</artifactId>
        <version>${appengine.version}</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>com.google.appengine</groupId>
        <artifactId>appengine-api-stubs</artifactId>
        <version>${appengine.version}</version>
        <scope>test</scope>
    </dependency>

然而,虽然范围是“测试”,但罐子仍然被复制到WEB-INF\lib文件夹:

src\main\webapp\WEB-INF\lib

1 个答案:

答案 0 :(得分:1)

我在这里看到了两种可能的情况。

1)除compile范围内的runtime范围之外,这些依赖关系引用(直接或不是)testsrc/main/webapp/WEB-INF/lib范围。然后,这个更广泛的范围被有效地用于满足他们的所有需求。

2)你(可能是无意识地)使用Maven Dependency Plugin进行了一些依赖性处理黑客攻击,或者做了这样糟糕的事情。

最后有一个问题:我认为这个target目录实际上是空的(可能根本不存在)而且这是你的错误。正如@Ryan在他的评论中所说,所有的lib(以及任何其他构建工件)都应该位于{{1}}目录。