项目开发过程中,如果一个项目经常发布,那么在打包之前会不断的修改配置文件,这无疑是很麻烦的一件事情。今天我介绍下这个问题怎么解决。
注意:本配置的前提是项目必须是MAVEN项目。
第一步、创建配置文件
在项目的src/main/resources目录下创建 local.properties prod.properties 两个文件。
local是本地的配置内容。prod是正式配置内容
例如local:
jdbc.driver=oracle.jdbc.driver.OracleDriver #本地测试环境 jdbc.url=jdbc:oracle:thin:@111.129.207.201:5206:box11g jdbc.username=zjkf jdbc.password=box123456
prod同理
第二步:配置需要读取的配置文件
system.properties中需要变化的变量使用参数进行配置,如
jdbc.driver=oracle.jdbc.driver.OracleDriver jdbc.url=${jdbc.url} jdbc.username=${jdbc.username} jdbc.password=${jdbc.password}
注意:${jdbc.url} 直接对应上面配置的local.properties或prod.properties文件中的名称。
第三步:配合MAVEN 的 pom.xml文件
<profiles> <profile> <id>local</id> <properties> <env>local</env> </properties> <activation> <activeByDefault>true</activeByDefault> </activation> </profile> <profile> <id>prod</id> <properties> <env>prod</env> </properties> </profile> </profiles> <build> <filters> <filter>src/main/resources/config/${env}.properties</filter> </filters> <resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> </resource> </resources> </build>
配置解释:
<id>local</id>
打包时跟在P参数后的id
<env>local</env>
配置文件名,如本例为local,则对应的配置文件为src/main/resources/filter/local.properties
<activation>
<activeByDefault>true</activeByDefault>
</activation>
此配置表示默认使用,即打包时如果不使用P参数则默认使用此配置文件
<filter>src/main/resources/filter/${env}.properties</filter>
配置文件路径,此路径可以自定义
<directory>src/main/resources</directory>
maven中配置文件目录,一般不会更改。
第四 步:打包
打本地包 mvn -Plocal install或者mvn install(因为本例activeByDefault配的为true)
打产品包 mvn -Pprod install
配置就是这么简单,但是这个种配置有一个弱点,因为是基于MAVEN的环境,如果在本地完生产包后。项目的配置会变成生产的配置,如果任然要用你本地的配置,那么你需要在打本地包来把配置更新回来。
相关推荐
JDK和Maven环境变量配置 JDK环境变量配置是Java开发环境的基础配置,正确的配置可以确保Java应用程序的正确...JDK、Maven和Tomcat环境变量配置是Java开发环境的基础配置,正确的配置可以确保Java应用程序的正确运行。
例如,我们可以在 POM 文件中定义三个环境:开发环境、测试环境和生产环境。每个环境都可以定义不同的配置文件,用于存储环境相关的配置信息。 在 POM 文件中,我们可以使用 `<profiles>` 元素来定义不同的 Profile...
2. **坐标(Coordinates)**:每个Maven项目都有唯一的标识,由groupId、artifactId和version组成,用于区分不同的项目和版本。 3. **依赖管理(Dependency Management)**:Maven通过声明依赖于其他项目的jar包,...
Maven环境隔离是指在Maven项目中将不同环境下的配置分开,例如开发环境、测试环境、生产环境等,使得项目在不同的环境中可以灵活地进行配置和部署。在pom.xml文件中,可以使用profiles节点和resources节点来实现环境...
首先,在pom.xml文件中添加profile节点信息,以指定不同的环境 Profile,例如开发环境、测试环境、预演环境和生产环境等。每个Profile都可以包括不同的配置信息,例如数据库连接信息、日志配置信息等。 其次,在...
8. **更强的构建配置**:Maven2支持使用 profiles,可以根据不同的环境(如开发、测试、生产)进行不同的配置,提供更灵活的构建策略。 9. **更丰富的插件生态**:随着Maven2的普及,插件生态日益丰富,涵盖了各种...
此外,构建工具如Maven或Gradle在部署时可以根据不同的构建目标(如`mvn package -Pprod`)来选择不同的配置文件,确保生产环境不会使用到开发环境的配置。 在实际项目中,除了基本的配置文件区分,还需要考虑安全...
### 使用新版IDEA+Maven+Scala编写Spark程序的关键步骤 #### 一、理解IDEA在2017版中的变化 ...Scala与Spark的结合为大数据处理带来了极大的便利,而IDEA作为一款强大的集成开发环境,更是为开发者提供了全面的支持。
6. **环境定制**:Surefire 允许用户自定义测试运行时的系统属性和环境变量,这对于模拟不同环境或依赖于特定配置的测试很有用。 7. **故障隔离**:如果一个测试失败,Surefire 通常会继续运行其他测试,避免了单个...
Profiles是Maven中用于区分不同环境配置的特性。通过定义不同的profile,可以在不同的环境中启用或禁用特定的配置、依赖和插件。 总结,Maven.3.8.4是Maven项目管理工具的一个版本,它提供了一整套规范化的项目构建...
Maven配置文件可以按环境(开发、测试、生产)划分,方便在不同环境中应用不同的配置。 10. Maven构建过程: Maven的构建过程包括解析POM、依赖解析、资源复制、编译、测试、打包、集成测试、验证和部署等步骤,...
Idea是一款强大的Java集成开发环境,其配置包括但不限于选择颜色风格、设置字体、将编码设置为UTF-8、调整代码提示不区分大小写、以及定制签名设置。此外,学习并掌握Idea的常用快捷键和调试功能可以显著提高开发...
Maven是Java开发领域中不可或缺的项目管理和构建工具,它简化了构建过程,统一了项目的构建配置,并提供了依赖管理。本文将详细介绍Maven的安装与配置步骤,帮助初学者快速上手。 首先,我们需要从Apache Maven的...
- **项目对象模型(POM)**:Maven的核心概念之一,用于描述项目配置和依赖关系的XML文件。 - **约定的目录结构**:Maven规定了一系列默认的目录结构,便于自动化构建。 - **坐标**:用于唯一标识Maven生态系统中的...
Maven的profile功能允许根据不同的环境(如开发、测试、生产)定制不同的配置。Spring Boot项目可以利用profile来区分不同环境的配置,如数据库连接信息。 6. Spring Boot Actuator: 这是一个用于生产环境的工具...
Apache Maven 是一个...总之,Apache Maven作为Java开发中的重要工具,通过其丰富的功能和强大的依赖管理能力,为开发者提供了高效、规范的项目构建环境。了解并熟练使用Maven,对于提升开发效率和团队协作至关重要。
Maven可以通过profile机制来区分不同环境的配置,如开发、测试、生产等。在pom.xml文件中,我们可以定义多个profile,每个profile包含特定环境的配置参数。打包时,通过指定激活的profile,Maven会将相应的配置打包...