一般来说,项目的配置文件都在resources下面,默认maven会从下面路径查找资源文件,这是超级pom中的配置
<resources>
<resource>
<directory>F:\maven_workspace\workspace\piaoyi\service\src\main\resources</directory>
</resource>
</resources>
<testResources>
<testResource>
<directory>F:\maven_workspace\workspace\piaoyi\service\src\test\resources</directory>
</testResource>
</testResources>
可以将不同环境的配置,通过属性定义的方式配置在profiles中(pom),然后在项目配置文件中使用这些mavne属性,在构建不同的环境时,通过激活不同的frofile来决定使用哪个环境的配置,比如(该profiles不能被子项目继承,只对当前pom项目有效,所以推荐配置在settings中):
<profiles>
<profile>
<id>dev</id>
<properties>
<db.driver>com.mysql.jdbc.Driver</db.driver>
<db.url>jdbc:mysql://localhost:3306/test</db.url>
</properties>
</profile>
<profile>
<id>test</id>
<properties>
<db.driver>com.mysql.jdbc.Driver</db.driver>
<db.url>jdbc:mysql://192.168.0.10:3306/test</db.url>
</properties>
</profile>
</profiles>
同时,需要在pom中的修改资源配置(定义在聚会项目中即可,可以被继承),如下,增加在pom中:
<build>
<resources>
<resource>
<directory>${project.basedir}\src\main\resources</directory>
<filtering>true</filtering>
</resource>
</resources>
<testResources>
<testResource>
<directory>${project.basedir}\src\test\resources</directory>
<filtering>true</filtering>
</testResource>
</testResources>
</build>
然后在执行构建时,执行如下命令:
mvn clean install -Pdev
激活该profile
也可以在settings.xml中进行配置,以使某个profile一直处于激活状态
<activeProfiles>
<activeProfile>nexus</activeProfile>
<activeProfile>dev</activeProfile>
</activeProfiles>
以上配置,只能替换classes下的资源文件,如果希望替换webApp下的文件内容,需要增加如下插件:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.1.1</version>
<configuration>
<webResources>
<resource>
<filtering>true</filtering>
<directory>src/main/webapp</directory>
</resource>
</webResources>
</configuration>
</plugin>
习惯ant的可以使用如下方式进行资源文件替换
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.3</version>
<executions>
<!-- 执行的动作 -->
<execution>
<id>ant-copy</id>
<phase>prepare-package</phase> <!-- 绑定到prepare-package 阶段-->
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks> <!-- 调用ant的copy任务执行资源文件替换 -->
<echo message="prepare-release run" />
<copy todir="${project.build.directory}/classes/config" overwrite="true">
<fileset dir="${project.basedir}/config/release" />
</copy>
<echo message="prepare-release completed!" />
</tasks>
</configuration>
</execution>
可以定义多个动作
</executions>
</plugin>
分享到:
相关推荐
- **多环境配置管理**:利用Maven的profile特性,为不同环境(如开发、测试、生产)配置不同的参数,确保构建过程的灵活性和适应性。 - **构建微服务架构**:在微服务环境中,每个服务都可以作为一个独立的Maven项目...
安装Maven通常涉及下载最新版本的Maven,设置环境变量,以及配置`settings.xml`文件以指定本地仓库位置和远程仓库镜像。 2. **仓库依赖管理**:Maven的核心功能之一是管理项目依赖关系。通过在`pom.xml`文件中声明...
**Maven实战教程** 1. **创建新项目** - 使用`mvn archetype:generate`命令创建一个新的Maven项目。 - 选择合适的archetype模板,根据提示输入项目信息。 2. **项目构建与调试** - 使用`mvn install`命令将项目...
在学习笔记中,这部分内容可能解释了如何定制 `settings.xml` 以适应不同开发环境的需求。 而 `shop` 文件可能是示例项目的名称,表示博主可能通过一个名为 "shop" 的项目来演示 Maven3 的用法,包括项目结构、pom....
标题中提及的“Maven3实战笔记”指向了Maven这款流行的Java项目管理和自动化构建工具的第三个主要版本。Maven自从引入以来,就极大地简化了Java项目的构建过程,提高了项目构建的标准化程度。它使用项目对象模型...
profiles是Maven中的环境配置切换工具,可以根据不同环境(如开发、测试、生产)定义不同的配置。例如,不同的profile可以设置不同的数据库连接参数或启用/禁用某些插件目标。 七、源码分析 【源码】部分提供了实际...
**Maven实战笔记** 在Java开发领域,Maven是一个不可或缺的构建工具,它极大地简化了项目的构建、管理和依赖管理过程。Maven通过一个统一的项目对象模型(Project Object Model,POM),使得开发者可以轻松地定义...
- Maven学习笔记:介绍了Maven的实战应用,包括环境配置、坐标和依赖、仓库管理、生命周期和插件、聚合、继承、反应堆、Nexus使用、测试、Hudson集成、Profile定制、项目站点生成和插件编写等主题。 - 学习Maven的...
《IT学习资料》-SSM实战项目-Java高并发秒杀API是一份全面的教程,旨在帮助学习者掌握如何在Java环境下使用Spring、SpringMVC和MyBatis(简称SSM)框架构建高并发的秒杀系统。这个项目涵盖了从项目初始化到实现完整...
《Maven实战》是一本实践导向的书籍,涵盖了Maven在实际项目中的应用,包括设置环境变量、配置构建服务器、集成持续集成工具如Jenkins,以及使用Maven进行部署。此外,它还介绍了一些高级话题,如使用Maven进行敏捷...
本项目提供了详细的流程说明和学习笔记,帮助开发者更好地掌握相关知识。 首先,`pom.xml`文件是Maven项目的配置文件,它定义了项目依赖,包括SSM框架的各个版本和其他必要的库。通过管理依赖关系,Maven能够自动...
**正文** Maven3是一个强大的Java项目管理工具,由Apache软件基金会开发,它极大地简化了...通过"apache-maven-3.0.4"的使用和"Maven3实战笔记"的学习,开发者可以全面掌握Maven的精髓,更好地服务于软件开发工作。
**SpringBoot学习笔记** SpringBoot是由Pivotal团队开发的一款基于Java的轻量级框架,旨在简化Spring应用的初始搭建以及开发过程。它通过自动配置、起步依赖和运行时嵌入式服务器,使得开发者能够快速地创建独立的...
这个项目不仅包含了详细的操作流程,还有学习笔记,帮助开发者深入理解相关技术。 首先,SSM框架是Java Web开发中的经典组合,它将Spring的依赖注入、SpringMVC的MVC模式和MyBatis的持久层操作结合在一起,提高了...
**Spring MVC 学习笔记 一 创建项目** 在IT领域,Spring MVC是Java Web开发中的一个强大框架,它简化了构建交互式Web应用程序的过程。本笔记将深入探讨如何创建一个基本的Spring MVC项目,让我们开始吧。 首先,...
4. **Maven3实战笔记-书签版-《jianggq工作室》.pdf**:这是一本关于Maven3的实战教程,可能包含了Maven3的使用技巧、最佳实践和常见问题解决,适合Maven初学者和进阶者阅读。 5. **Mavenʵס.pdf**:这个文件名可能...
Java学习笔记是一个全面涵盖Java基础知识和Web开发技术的资源,非常适合初学者和进阶者深入理解这门语言及其在Web开发中的应用。这份文档可能包含了从语法基础到高级特性的详细讲解,以及如何将Java应用于Web环境的...
- **创建Maven项目**:作为基础,项目需基于Maven构建,导入Spring Boot的父工程依赖,简化项目构建配置。 - **POM.xml配置**:在pom.xml中添加Spring Boot的起步依赖,以便利用其提供的默认配置和自动配置功能。 ...