【小平工作日志】Maven根据不同环境打包, 获取不同的配置文件
2016-11-25 00:00
267 查看
摘要: 所写文章均经过测试而发布,一是为了记录笔记,一是为了为广大网友提供一份资料。欢迎广大网友提供宝贵的意见,请留言或私信沟通。
举例场景:
项目中测试与开发所使用的库,与产品上线使用的库不一样。数据库信息放在jdbc.properties中。
有一个很笨的方法就是每次打包前手动更改jdbc.properties中的地址信息,这种方法比较麻烦每次都需要改动,而且还容易出错等不利的地方。
所以我们需要在打包时,指定不同的jdbc.properties。
上pom.xml配置。
注意:要在src/main/resource下新建env-dev(测试开发) 和 env-prod(正式上线) ,并分别在文件夹中放置各自己的文件。
到此就算是达到效果了。
打包时(cd .....项目pom所在目录):
测试与开发:mvn package
正式上线:mvn -P env-prod package
大功告成!
举例场景:
项目中测试与开发所使用的库,与产品上线使用的库不一样。数据库信息放在jdbc.properties中。
有一个很笨的方法就是每次打包前手动更改jdbc.properties中的地址信息,这种方法比较麻烦每次都需要改动,而且还容易出错等不利的地方。
所以我们需要在打包时,指定不同的jdbc.properties。
上pom.xml配置。
<?xml version="1.0" encoding="UTF-8"?> <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>com.***</groupId> <artifactId>***项目artifactId***</artifactId> <packaging>war</packaging> <version>**</version> <name>*******</name> <url>http://maven.apache.org</url> <dependencies> <!-- 此处省略掉引用的jar包 --> </dependencies> <build> <finalName>*****</finalName> <resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> <excludes> <exclude>env-dev/*</exclude> <exclude>env-prod/*</exclude> </excludes> </resource> </resources> <plugins> <!-- 打包插件 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.1.1</version> <configuration> <archive> <addMavenDescriptor>false</addMavenDescriptor> </archive> <warName>*****</warName> <webResources> <resource> <directory>src/main/resources/${package.environment}</directory> <targetPath>WEB-INF/classes</targetPath> <filtering>true</filtering> </resource> </webResources> </configuration> </plugin> <!-- 原型插件 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-archetype-plugin</artifactId> <version>2.2</version> </plugin> <!-- 设置源文件编码方 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <defaultLibBundleDir>lib</defaultLibBundleDir> <source>1.7</source> <target>1.7</target> <encoding>UTF-8</encoding> </configuration> </plugin> <!-- 为了mvn install -Dmaven.test.skip=true 命令时过滤test --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <skip>true</skip> </configuration> </plugin> <!-- 解决资源文件的编码问 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>3.0.1</version> <!-- <version>2.5</version> --> <configuration> <encoding>UTF-8</encoding> </configuration> <dependencies> <dependency> <groupId>org.apache.maven.shared</groupId> <artifactId>maven-filtering</artifactId> <version>3.1.1</version> </dependency> </dependencies> </plugin> </plugins> </build> <profiles> <profile> <id>env-dev</id> <properties> <package.environment>env-dev</package.environment> </properties> <activation> <activeByDefault>true</activeByDefault> </activation> </profile> <profile> <id>env-prod</id> <properties> <package.environment>env-prod</package.environment> </properties> </profile> </profiles> </project>
注意:要在src/main/resource下新建env-dev(测试开发) 和 env-prod(正式上线) ,并分别在文件夹中放置各自己的文件。
到此就算是达到效果了。
打包时(cd .....项目pom所在目录):
测试与开发:mvn package
正式上线:mvn -P env-prod package
大功告成!
相关文章推荐
- Maven_根据不同个环境打包, 获取不同的配置文件等等
- Maven根据不同个环境打包, 获取不同的配置文件
- Maven根据不同个环境打包, 获取不同的配置文件等等
- Maven根据不同个环境打包, 获取不同的配置文件等等
- Maven根据不同个环境打包, 获取不同的配置文件等等
- Maven根据不同个环境打包, 获取不同的配置文件
- Maven根据不同环境打包不同配置文件
- Maven根据不同环境打包不同配置文件
- maven根据不同的运行环境,打包不同的配置文件
- Maven根据不同环境打包不同配置文件
- Maven根据不同环境打包不同配置文件
- Maven根据不同环境打包不同配置文件的方法
- Maven根据不同的环境打包配置文件
- Maven根据不同环境打包不同配置文件
- Maven根据不同环境打包不同配置文件
- maven根据不同的运行环境,打包不同的配置文件
- Maven根据不同环境打包不同配置文件
- maven 根据环境打包不同配置文件
- maven 之 根据不同环境,选择不同的配置文件。
- Maven根据Profile读取不同配置环境配置文件