1

我声明了一个依赖项,如下所示:

    <dependency>
        <groupId>org.jboss.spec</groupId>
        <artifactId>jboss-javaee-6.0</artifactId>
        <version>${version.jboss.javaee6}</version>
        <type>pom</type>
    </dependency>

当我将范围更改为提供时,我得到编译错误,例如EJB cannot be resolved to a type。我不明白,文档说声明为提供的依赖项仍在编译时使用,并且仅在部署时丢弃。

那么有人可以帮我理解这些编译错误吗?

    <dependency>
        <groupId>org.jboss.spec</groupId>
        <artifactId>jboss-javaee-6.0</artifactId>
        <version>${version.jboss.javaee6}</version>
        <type>pom</type>
        <scope>provided</scope>
    </dependency>
4

1 回答 1

0

我认为问题与type您在该工件的依赖项中提到的有关。

到目前为止,无论我使用 Maven 玩过什么,我都想不出任何需要添加pom type dependency. 通常 pom 类型的打包用于项目中的父模块(指定常见的项目配置,如插件版本、常见的依赖项,如 log4j 例如存储库、属性等)和实用程序包模块(组装项目并执行一些操作的模块)其他必要的东西)。

因此,作为建议,从依赖项中删除 type 标记,直到您出于任何特定目的需要它,让它成为默认值,即jar.

于 2013-08-11T05:27:10.727 回答