`
qieyi28
  • 浏览: 158237 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Maven 区分开发环境和测试环境 配置

 
阅读更多

         项目开发过程中,如果一个项目经常发布,那么在打包之前会不断的修改配置文件,这无疑是很麻烦的一件事情。今天我介绍下这个问题怎么解决。

       注意:本配置的前提是项目必须是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和Maven环境变量配置 JDK环境变量配置是Java开发环境的基础配置,正确的配置可以确保Java应用程序的正确...JDK、Maven和Tomcat环境变量配置是Java开发环境的基础配置,正确的配置可以确保Java应用程序的正确运行。

    maven profile多环境配置

    例如,我们可以在 POM 文件中定义三个环境:开发环境、测试环境和生产环境。每个环境都可以定义不同的配置文件,用于存储环境相关的配置信息。 在 POM 文件中,我们可以使用 `&lt;profiles&gt;` 元素来定义不同的 Profile...

    maven项目开发的maven3.3.9使用包

    2. **坐标(Coordinates)**:每个Maven项目都有唯一的标识,由groupId、artifactId和version组成,用于区分不同的项目和版本。 3. **依赖管理(Dependency Management)**:Maven通过声明依赖于其他项目的jar包,...

    浅谈Maven环境隔离应用

    - 开发环境(Dev):代码在经过个人测试后,会部署到开发环境中供团队成员测试和协作。 - 测试环境(Beta):也称为预发布环境,用于进行更全面的功能测试和性能测试。 - 线上环境(Prod):正式上线运行的环境,...

    使用maven profile指定配置文件打包适用多环境的方法

    首先,在pom.xml文件中添加profile节点信息,以指定不同的环境 Profile,例如开发环境、测试环境、预演环境和生产环境等。每个Profile都可以包括不同的配置信息,例如数据库连接信息、日志配置信息等。 其次,在...

    Maven的基本原理和Maven2的新特性

    8. **更强的构建配置**:Maven2支持使用 profiles,可以根据不同的环境(如开发、测试、生产)进行不同的配置,提供更灵活的构建策略。 9. **更丰富的插件生态**:随着Maven2的普及,插件生态日益丰富,涵盖了各种...

    SSM项目多环境区分例子

    此外,构建工具如Maven或Gradle在部署时可以根据不同的构建目标(如`mvn package -Pprod`)来选择不同的配置文件,确保生产环境不会使用到开发环境的配置。 在实际项目中,除了基本的配置文件区分,还需要考虑安全...

    上手提示:使用新版IDEA+Maven+Scala编写Spark程序

    ### 使用新版IDEA+Maven+Scala编写Spark程序的关键步骤 #### 一、理解IDEA在2017版中的变化 ...Scala与Spark的结合为大数据处理带来了极大的便利,而IDEA作为一款强大的集成开发环境,更是为开发者提供了全面的支持。

    maven-surefire-plugin 2.12

    6. **环境定制**:Surefire 允许用户自定义测试运行时的系统属性和环境变量,这对于模拟不同环境或依赖于特定配置的测试很有用。 7. **故障隔离**:如果一个测试失败,Surefire 通常会继续运行其他测试,避免了单个...

    maven.3.8.4

    Profiles是Maven中用于区分不同环境配置的特性。通过定义不同的profile,可以在不同的环境中启用或禁用特定的配置、依赖和插件。 总结,Maven.3.8.4是Maven项目管理工具的一个版本,它提供了一整套规范化的项目构建...

    Maven 实战源码

    Maven配置文件可以按环境(开发、测试、生产)划分,方便在不同环境中应用不同的配置。 10. Maven构建过程: Maven的构建过程包括解析POM、依赖解析、资源复制、编译、测试、打包、集成测试、验证和部署等步骤,...

    Spring Boot开发环境搭建实验

    Idea是一款强大的Java集成开发环境,其配置包括但不限于选择颜色风格、设置字体、将编码设置为UTF-8、调整代码提示不区分大小写、以及定制签名设置。此外,学习并掌握Idea的常用快捷键和调试功能可以显著提高开发...

    Maven 安装与配置(csdn)————程序.pdf

    Maven是Java开发领域中不可或缺的项目管理和构建工具,它简化了构建过程,统一了项目的构建配置,并提供了依赖管理。本文将详细介绍Maven的安装与配置步骤,帮助初学者快速上手。 首先,我们需要从Apache Maven的...

    maven资料,详细总结文档

    - **项目对象模型(POM)**:Maven的核心概念之一,用于描述项目配置和依赖关系的XML文件。 - **约定的目录结构**:Maven规定了一系列默认的目录结构,便于自动化构建。 - **坐标**:用于唯一标识Maven生态系统中的...

    spring boot 项目 + maven本地仓库

    Maven的profile功能允许根据不同的环境(如开发、测试、生产)定制不同的配置。Spring Boot项目可以利用profile来区分不同环境的配置,如数据库连接信息。 6. Spring Boot Actuator: 这是一个用于生产环境的工具...

    apache-maven绿色工具

    Apache Maven 是一个...总之,Apache Maven作为Java开发中的重要工具,通过其丰富的功能和强大的依赖管理能力,为开发者提供了高效、规范的项目构建环境。了解并熟练使用Maven,对于提升开发效率和团队协作至关重要。

    springboot项目框架,多数据源配置,日志,maven多环境打包,集成redis

    Maven可以通过profile机制来区分不同环境的配置,如开发、测试、生产等。在pom.xml文件中,我们可以定义多个profile,每个profile包含特定环境的配置参数。打包时,通过指定激活的profile,Maven会将相应的配置打包...

Global site tag (gtag.js) - Google Analytics