Maven根据不同环境打包不同配置文件
来源:互联网 发布:ai软件字体加粗 编辑:程序博客网 时间:2024/05/21 09:59
开发项目时会遇到这个问题:开发环境,测试环境,生产环境的配置文件不同,打包时经常要手动更改配置文件,更改的少还可以接受,但是如果需要更多个配置文件,手动的方法就显得非常笨重了。
下面介绍一种方法,利用Maven插件来打包不同环境的配置文件。我们用到的是maven-war-plugin这个插件。
首先贴出pom文件设置的部分:
<profiles> <profile> <id>local</id> <activation> <!--默认开发环境--> <activeByDefault>true</activeByDefault> <property> <name>env</name> <value>local</value> </property> </activation> <properties> <build.environment>local</build.environment> <!--<tomcat.server>localhost-tomcat</tomcat.server>--> <!--<tomcat.url>http://localhost:8080/manager/text</tomcat.url>--> </properties> </profile> <profile> <id>test</id> <activation> <property> <name>env</name> <value>test</value> </property> </activation> <properties> <build.environment>test</build.environment> </properties> </profile> <profile> <id>int</id> <activation> <property> <name>env</name> <value>int</value> </property> </activation> <properties> <build.environment>int</build.environment> </properties> </profile> <profile> <id>prod</id> <activation> <property> <name>env</name> <value>prod</value> </property> </activation> <properties> <build.environment>prod</build.environment> </properties> </profile> </profiles>
<build> <resources> <resource> <directory>src/main/resources</directory> </resource> <resource> <directory>env/${build.environment}</directory> </resource> </resources> <plugins> <!--<plugin>--> <!--<groupId>org.mortbay.jetty</groupId>--> <!--<artifactId>maven-jetty-plugin</artifactId>--> <!--<version>6.1.7</version>--> <!--<configuration>--> <!--<connectors>--> <!--<connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">--> <!--<port>8888</port>--> <!--<maxIdleTime>30000</maxIdleTime>--> <!--</connector>--> <!--</connectors>--> <!--<webAppSourceDirectory>${project.build.directory}/${pom.artifactId}-${pom.version}</webAppSourceDirectory>--> <!--<contextPath>/</contextPath>--> <!--</configuration>--> <!--</plugin>--> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <configuration> <webXml>src/main/webapp/WEB-INF/web.xml</webXml> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.3</version> <configuration> <source>1.7</source> <target>1.7</target> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> </plugin> </plugins> </build>
打包命令:
mvn clean install -Denv=int
跳过test:
mvn clean install -Denv=int -Dmaven.test.skip=true
传递一个参数-Denv=tst,其实就是传递了个env的参数,然后maven就会根据这个参数值,去激活相应的属性,就是控制激活哪个。
-Denv=int传递进去之后就会找到env,value为int的并自动激活int包含的属性,
也就<build.environment>int</build.environment>
这个属性.然后接下来 整个项目就会从int这个 profile里面拿参数去用了.
这是一个判断条件,类似if(env=local){…}
类似java一样,比如将多个逻辑组合到一个方法,-D就如同根据参数在这个方法里面进行不同的逻辑判断,
-P就如同将多个逻辑放到不同的方法,根据-P参数进行判断具体调用哪个方法
阅读全文
0 0
- Maven根据不同环境打包不同配置文件
- Maven根据不同环境打包不同配置文件
- Maven根据不同环境打包不同配置文件
- Maven根据不同环境打包不同配置文件
- Maven根据不同环境打包不同配置文件
- Maven根据不同环境打包不同配置文件
- maven 根据环境打包不同配置文件
- Maven根据不同的环境打包配置文件
- Maven根据不同个环境打包, 获取不同的配置文件
- Maven根据不同个环境打包, 获取不同的配置文件
- maven根据不同的运行环境,打包不同的配置文件
- maven根据不同环境打包
- Maven根据不同个环境打包, 获取不同的配置文件等等
- maven根据不同的生产环境打包
- maven动态根据环境的不同打包
- maven不同配置文件打包
- maven根据不同环境打包不同的配置
- maven,打包时不同环境不同的配置文件
- DenseNet算法详解
- fcc 225 Profile Lookup
- Type Object 写 物品属性
- 顺时针打印矩阵
- JAVA调用HTTPS双向认证API
- Maven根据不同环境打包不同配置文件
- Web性能压力测试工具之ApacheBench(ab)
- C语言printf与scanf函数
- 测试管理:你该如何去保证测试执行的质量?
- 使用condition实现顺序执行线程
- 20171218
- Wing IDE for Mac(Python开发工具)附破解补丁和破解教程 V6.0.8-2破解版
- 制作索引图 labelme
- ffmpeg Windows下编译遇到的问题