首页 > 代码库 > 使用maven属性变量和配置文件
使用maven属性变量和配置文件
mvn archetype:generate
1 <profiles> 2 <profile> 3 <!-- 本地环境 --> 4 <id>local</id> 5 <properties> 6 <db-url>jdbc:oracle:thin:@localhost:1521:XE</db-url> 7 <db-username>***</db-username> 8 <db-password>***</db-password> 9 </properties>10 </profile>11 <profile>12 <!-- 开发环境 -->13 <id>dev</id>14 <properties> 15 <db-url>jdbc:oracle:thin:@172.21.129.51:1521:orcl</db-url>16 <db-username>***</db-username>17 <db-password>***</db-password>18 </properties>19 <!-- 默认激活本环境 -->20 <activation>21 <activeByDefault>true</activeByDefault>22 </activation>23 </profile>24 ...25 </profiles>
profiles节点中,定义了二种环境:local、dev(默认激活dev环境),可以在各自的环境中添加需要的property值,接下来修改build节点,参考下面的示例:
1 <build> 2 <resources> 3 <resource> 4 <directory>src/main/resources</directory> 5 <filtering>true</filtering> 6 </resource> 7 </resources> 8 <plugins> 9 <plugin>10 <groupId>org.apache.maven.plugins</groupId>11 <artifactId>maven-compiler-plugin</artifactId>12 <version>2.5.1</version>13 <configuration>14 <source>1.6</source>15 <target>1.6</target>16 <encoding>utf-8</encoding>17 </configuration>18 </plugin>19 </plugins>20 </build>
resource节点是关键,它表明了哪个目录下的配置文件(不管是xml配置文件,还是properties属性文件),需要根据profile环境来替换属性值。
通常配置文件放在resources目录下,build时该目录下的文件都自动会copy到class目录下
例:
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" /> <property name="url" value="${db-url}" /> <property name="username" value="${db-username}" /> <property name="password" value="${db-password}" /> </bean></beans>
各属性节点的值,用占位符"${属性名}"占位,maven在package时,会根据profile的环境自动替换这些占位符为实际属性值。
默认情况下:
maven package
将采用默认激活的profile环境来打包,也可以手动指定环境,比如:
maven package -P dev
将自动打包成dev环境的部署包(注:参数P为大写)
使用maven属性变量和配置文件
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。