首页 > 学院 > 开发设计 > 正文

Maven的多环境配置(简略版,待完善)

2019-11-14 23:08:28
字体:
来源:转载
供稿:网友
Maven的多环境配置(简略版,待完善)

在公司的开发环境中,真实的项目是需要配置多套环境配置的,如开发、测试、生产等,对于真实的项目来说,各种配置文件本就搞的人头大,如果再加上多套环境,再正常的人也要疯。当然,有问题,就有解决办法,我们可以使用Maven这个利器来搞定。 在Maven中,有种多环境配置的方法,可以做到在开发、测试、运营的时候,使用各自对应的环境配置,可以大大的提高开发效率,接下来就了解下吧。

示例:

  1. 首先在Maven工程的src/main下建立PRofiles,作为存放环境配置文件目录,然后在profiles中建立两个文件夹,dev和pro,分别为开发环境目录和生产环境目录
  2. 在dev和pro文件夹中添加配置文件,配置文件内容不同(此处所用数据库不同)

    dev/db.properties内容

    jdbc.url = jdbc:MySQL://localhost:3306/dev?characterEncoding=gb2312jdbc.username = rootjdbc.passWord = adminjdbc.min_connections = 1jdbc.max_connections = 200jdbc.checkout_timeout =3000

    pro/db.properties内容

    jdbc.url = jdbc:mysql://localhost:3306/pro?characterEncoding=gb2312jdbc.username = rootjdbc.password = adminjdbc.min_connections = 1jdbc.max_connections = 200jdbc.checkout_timeout =3000

  3. 编写 pom.xml文件
    <project xmlns="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>work</groupId>  <artifactId>MyMaven</artifactId>  <packaging>war</packaging>  <version>0.0.1-SNAPSHOT</version>  <name>MyMaven Maven Webapp</name>  <url>http://maven.apache.org</url>    <!-- 定义变量  -->  <properties>        <profiles.dir>src/main/profiles</profiles.dir>        <servlet.version>2.5</servlet.version>        <jstl.version>1.1.2</jstl.version>    </properties>    <dependencies>    <!-- 略过  -->    <dependency>      <groupId>junit</groupId>      <artifactId>junit</artifactId>      <version>3.8.1</version>      <scope>test</scope>    </dependency>  </dependencies>    <!-- 多环境配置  -->  <profiles>        <!-- 开发环境  -->        <profile>            <id>dev</id>            <activation>                <!-- 设置为默认激活  -->                <activeByDefault>true</activeByDefault>            </activation>            <properties>                <!-- 不同的环境配置下,使用不同的配置文件夹 -->                <profile.dir>${profiles.dir}/dev</profile.dir>            </properties>        </profile>        <!-- 生产环境  -->        <profile>            <id>pro</id>            <activation>            <!-- 当jdk为1.6版本时激活  -->                <jdk>1.6</jdk>            </activation>            <properties>                <profile.dir>${profiles.dir}/pro</profile.dir>            </properties>        </profile>    </profiles>    <build>    <finalName>MyMaven</finalName>        <resources>        <!-- 指定环境配置文件输出目录 -->        <resource>            <directory>${profile.dir}</directory>            <targetPath>${project.build.directory}/classes</targetPath>        </resource>        <!-- 资源过滤   -->        <resource>            <directory>src/main/profiles/product</directory>            <filtering>true</filtering>        </resource>    </resources>  </build></project>
  4. 使用Maven进行Update Project一下,应该就会看到项目的变化,可以看到在Eclipse中dev目录跑到了工程目录下

  5. 然后,发布到Tomcat中,在Tomcat目录中对应的工程目录下,也可以看到在WEB-INF/classes目录下有db.properties文件,打开后,就可以看到内容是与dev/db.properties文件内容是一致的。如果改变pom.xml中的默认激活到pro环境配置下,工程的配置也就会变成pro的环境配置

  6. 未完,待补充。

   


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表