maven--profile

使用maven管理项目有一个好处是就是可以针对不同的环境使用不同的编译打包设置,方便了多环境下的打包部署,一般我们开发项目都会有至少开发环境和正式环境两个,针对这两个环境的配置信息也会有所不同,比如数据库的配置等。我们可以使用maven的profile定义来进行区分,比如我们在项目的pom文件中定义如下片段:

 

 

<!-- 配置参数 -->
	<profiles>
		<profile>
			<id>test</id>
			<properties>
				<db.driver>com.mysql.driver</db.driver>
				<db.url>http://localhost:3306/test</db.url>
				<db.username>root</db.username>
				<db.password>root</db.password>
			</properties>
		</profile>
	</profiles>
	
	<build>
		<finalName>mavenwebdemo</finalName>
		<!-- 过滤指定文件中的占位符 -->
		<resources>
			<resource>
				<directory>src/main/resources</directory>
				<includes>
					<include>*.*</include>
				</includes>
				<filtering>true</filtering>
			</resource>
		</resources>
		<plugins>
			<!-- maven jetty plugin -->
			<plugin>
				<groupId>org.mortbay.jetty</groupId>
				<artifactId>jetty-maven-plugin</artifactId>
				<version>8.1.0.v20120127</version>
				<configuration>
					<scanIntervalSeconds>10</scanIntervalSeconds>
					<webApp>
						<contextPath>/mavenwebdemo</contextPath>
					</webApp>
					<connectors>
						<connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector">
							<port>9999</port>
							<maxIdleTime>60000</maxIdleTime>
						</connector>
					</connectors>
					<stopPort>8191</stopPort>
					<stopKey>ts</stopKey>
				</configuration>
			</plugin>
			
			<!-- 
				<plugin>
					<groupId>org.eclipse.jetty</groupId>
					<artifactId>jetty-maven-plugin</artifactId>
					<version>9.0.0.v20130308</version>
				</plugin>
			 -->
		</plugins>
	</build>

   其中最重要的是<filtering>true</filtering>这段,这个配置的意思是过滤上面指定属性文件中的占位符,占位符是${变量名称}这样的形式,maven会自动读取配置文件,然后解析其中的占位符,使用上面pom文件中定义的属性进行替换。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值