原文地址:http://chenzhou123520.iteye.com/blog/1582171
Maven提供dependencyManagement 元素既能让子模块继承到父模块的依赖配置,又能保证自模块依赖的使用灵活性。(有选择的继承)
可在accout-parent 中加入:
Xml代码:
<project xmlnsxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.juvenxu.mvnbook.account</groupId>
<artifactId>account-parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>pom</packaging>
<name>Account Parent</name>
<properties>
<springframework.version>2.5.6</springframework.version>
<junit.version>4.7</junit.version>
</properties>
< dependencyManagement >
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${springframework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>${springframework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${springframework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>${springframework.version}</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
</ dependencyManagement >
</project>
子模块继承代码如下:
Xml代码
<project xmlnsxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
< parent >
<groupId>com.juvenxu.mvnbook.account</groupId>
<artifactId> account-parent </artifactId>
<version>1.0.0-SNAPSHOT</version>
</ parent >
<artifactId>account-email</artifactId>
<name>Account Email</name>
<properties>
<javax.mail.version>1.4.1</javax.mail.version>
<greenmail.version>1.3.1b</greenmail.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>${javax.mail.version}</version>
</dependency>
<dependency>
<groupId>com.icegreen</groupId>
<artifactId>greenmail</artifactId>
<version>${greenmail.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
</build>
</project>
使用继承管理依赖 (dependencyManagement)带来的好处
1、代码量减少,不用多次重复声明 version等元素。
2、version受父管理,父变则子变,便于修改。
3、dependencyManagement一旦定义,可以复用。
例如想要在另外一个模块中使用如父模块中一样的 dependencyManagement的设置。除了复制,还可以导入。如下:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.juvenxu.mvnbook.account</groupId>
<artifactId> account-parent </artifactId>
<version>1.0-SNAPSHOT</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
分享到:
相关推荐
"app-parent"这个文件名暗示了一个父级模块(Parent Module),通常用来设定子模块共有的配置,如版本管理、依赖管理和构建设置等。通过定义一个父POM(Project Object Model),可以确保所有子模块遵循统一的规范,...
依赖管理包:Maven 代码+数据库保证完整可用,可提供远程调试并指导运行服务(额外付费)~ 如果对系统的中的某些部分感到不合适可提供修改服务,比如题目、界面、功能等等... 声明: 1.项目已经调试过,完美运行...
依赖管理包:Maven 代码+数据库保证完整可用,可提供远程调试并指导运行服务(额外付费)~ 如果对系统的中的某些部分感到不合适可提供修改服务,比如题目、界面、功能等等... 声明: 1.项目已经调试过,完美运行...
依赖管理包:Maven 代码+数据库保证完整可用,可提供远程调试并指导运行服务(额外付费)~ 如果对系统的中的某些部分感到不合适可提供修改服务,比如题目、界面、功能等等... 声明: 1.项目已经调试过,完美运行...
依赖管理包:Maven 代码+数据库保证完整可用,可提供远程调试并指导运行服务(额外付费)~ 如果对系统的中的某些部分感到不合适可提供修改服务,比如题目、界面、功能等等... 声明: 1.项目已经调试过,完美运行...
依赖管理包:Maven 代码+数据库保证完整可用,可提供远程调试并指导运行服务(额外付费)~ 如果对系统的中的某些部分感到不合适可提供修改服务,比如题目、界面、功能等等... 声明: 1.项目已经调试过,完美运行...
1. **依赖管理**:Maven自动解决项目依赖关系,从中央仓库下载所需的库。 2. **标准化构建过程**:提供了一套通用的构建生命周期和阶段,如编译、测试、打包、部署等。 3. **插件系统**:通过插件机制,Maven可以...
9. **Maven or Gradle**: 构建工具,管理项目的依赖关系和构建流程。 总的来说,这个项目展示了如何利用SpringBoot框架构建一个完整的线上购物系统,涵盖用户注册登录、商品浏览、购物车、订单处理等基本功能,并...
6. **Maven或Gradle**:RuoYi项目可能使用Maven或Gradle作为构建工具,这两个工具能够自动化处理依赖管理和构建流程,确保项目的一致性和可复制性。 7. **Git版本控制**:压缩包的命名格式暗示了项目可能是从Git...
6. **Maven或Gradle构建**:Spring Boot项目通常使用Maven或Gradle作为构建工具,管理项目的依赖关系。通过pom.xml(Maven)或build.gradle(Gradle)文件,可以声明项目需要的库,并自动下载和管理它们。 7. **...
1. **Quartz的配置**:首先,你需要在项目的类路径下添加Quartz库的依赖,这通常通过Maven或Gradle的依赖管理来完成。在`lib`目录下可能包含了Quartz的JAR文件,这是运行Quartz的基础。 2. **Spring配置文件**:在...
1. **引入依赖**: 在 Maven 或 Gradle 的配置文件中添加 Ehcache 和 Spring 相关的依赖。例如,如果是 Maven,可以在 `pom.xml` 文件中加入如下依赖: ```xml <groupId>net.sf.ehcache</groupId> <artifactId>...
Castor的源码是开放的,可以在其官方仓库或者通过Maven仓库获取,这对于进行定制开发或优化性能非常有帮助。 8. 测试与验证 `test.xml`可能是测试用例的数据文件,用于验证映射配置是否正确,以及Castor序列化和反...
首先,你需要安装Java开发环境(JDK)和Maven,然后配置JBPM的依赖库到项目中。 #### 3.2 创建流程定义 使用BPMN编辑器创建流程图,保存为`.bpmn2`文件。 #### 3.3 编写Java代码 实现流程的业务逻辑,这可能涉及到...
JUnit 5在依赖管理方面提供了元数据和依赖关系图,旨在帮助开发者更好地管理项目中的依赖项,它支持使用Maven和Gradle等构建工具,同时也提供了命令行启动器。在编写测试方面,JUnit 5提供了丰富的注解来标记测试...
结合JSR168,这个项目可能是创建了一个支持portlet的Web应用,其中Struts2负责前端用户界面的控制流,Spring2.5用于管理portlet的依赖和服务,而Hibernate3.3则作为数据访问层,处理数据库交互。这种架构允许开发者...
- **Spring框架**:依赖注入(DI)、AOP、事务管理等核心概念。 - **MyBatis**:持久层框架,动态SQL和映射文件的使用。 - **Maven或Gradle**:构建工具的使用和配置。 9. **数据库** - **SQL语句**:增删改查...
在实际操作中,首先需要解压`pay5160-master`文件,然后根据项目的构建工具(可能是Maven或Gradle)来管理依赖和构建项目。如果是Maven项目,可以使用`mvn clean install`命令来构建和测试;如果是Gradle项目,可以...
支持maven/lvy的依赖管理 非常灵活,并不强迫用户一定要使用最佳的构建方式 插件可以暴露自身的语言和接口api给构建文件使用 支持IDE集成 2.2 需求(Requirements) Gradle 2.2(Gradle版本是2.2及以上,因为文档中...