Maven 2 Maven2中的可传递依赖

Maven 2 Maven2中的可传递依赖,maven-2,dependencies,Maven 2,Dependencies,在使用Ant 3年后,我才开始使用Maven2。到目前为止,我很喜欢我看到的东西,但我仍在掌握该工具的结构及其与IntelliJ的集成,以及在后台发生的事情 Maven最吸引人的地方之一是它能够作为构建过程的一部分传递性地解决依赖关系,但我认为由于缺乏理解,目前我对这个特性存在问题 考虑我的非常简单的Java EE项目(简单web服务),该项目由以下模块组成:核心(持久性实体和带有JPA实现的通用DAO)、ejb组件(ejb3 web服务-依赖于核心)和webapp(spring web服务-依

在使用Ant 3年后,我才开始使用Maven2。到目前为止,我很喜欢我看到的东西,但我仍在掌握该工具的结构及其与IntelliJ的集成,以及在后台发生的事情

Maven最吸引人的地方之一是它能够作为构建过程的一部分传递性地解决依赖关系,但我认为由于缺乏理解,目前我对这个特性存在问题

考虑我的非常简单的Java EE项目(简单web服务),该项目由以下模块组成:核心(持久性实体和带有JPA实现的通用DAO)、ejb组件(ejb3 web服务-依赖于核心)和webapp(spring web服务-依赖于核心)

我已经安装了核心模块及其在存储库中的可用性,并且添加了它作为ejb模块和webapp模块的依赖项,范围为compile。但是,如果我的webapp模块中没有javaeeapi依赖项,它将不会编译。目前,我的源代码是POJO,没有元数据

任何帮助都将不胜感激

但是,如果我的webapp模块中没有javaeeapi依赖项,它将不会编译。目前,我的源代码是POJO,没有元数据

Web应用程序(以及一般的JavaEE模块)大部分时间都需要对JavaEEAPI(如ServletAPI等)的编译时依赖,这些API将在运行时由容器提供。当使用Maven时,这些依赖项是用。例如:

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

爪哇


但是,如果我的webapp模块中没有javaeeapi依赖项,它将不会编译。目前,我的源代码是POJO,没有元数据

Web应用程序(以及一般的JavaEE模块)大部分时间都需要对JavaEEAPI(如ServletAPI等)的编译时依赖,这些API将在运行时由容器提供。当使用Maven时,这些依赖项是用。例如:

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

爪哇