2

我想使用 maven运行此处提供的 servlet 测试示例。Javaee web api 应声明为provided

    <dependency>
        <groupId>javax</groupId>
        <artifactId>javaee-web-api</artifactId>
        <version>6.0</version>
        <scope>provided</scope>
    </dependency>

    <dependency>
        <groupId>httpunit</groupId>
        <artifactId>httpunit</artifactId>
        <version>1.7</version>
        <scope>test</scope>
    </dependency>

但是,示例中的一项测试会抛出ServletException. NetBeans 抱怨说java ee api is missing on project classpath。如何解决这个问题?

编辑

这不是 NetBeans 问题,而是 maven 问题。

4

2 回答 2

9

现在,这是我在 Java 时代遇到的最令人沮丧的问题。紧随其后的是我见过的最荒谬的解决方法:

<dependency>
    <groupId>httpunit</groupId>
    <artifactId>httpunit</artifactId>
    <version>1.7</version>
    <scope>test</scope>
</dependency>

<dependency>
    <groupId>javax</groupId>
    <artifactId>javaee-web-api</artifactId>
    <version>6.0</version>
    <scope>provided</scope>
</dependency>

是的,置换中的依赖声明pom.xml(请参阅此处的“为什么”)并javaee-web-api最后生成。

于 2011-09-29T22:28:11.160 回答
0

这意味着 maven(或 netbeans ......我已经 10 年没有使用过 netbeans 了),无法下载或在本地存储库中找到该工件。

提供的范围意味着:我需要 jar 来编译我的源代码,但不要将 jar 捆绑到最终包中。

于 2011-09-29T21:06:26.073 回答