基於maven的ssh框架一步一步搭建(二)

5、配置profile

一、profile是用來作什麼的

Profile能讓你爲一個特殊的環境自定義一個特殊的構建;profile使得不一樣環境間構建的可移植性成爲可能。不一樣的構建環境是什麼意思?構建環境的兩個例子是產品環境和開發環境。當你在開發環境中工做時,你的系統可能被配置成訪問運行在你本機的開發數據庫實例,而在產品環境中,你的系統被配置成從產品數據庫讀取數據。Maven能讓你定義任意數量的構建環境(構建profile),這些定義能夠覆蓋pom.xml中的任何配置。你能夠配置你的應用程序,在「開發」profile中,訪問本地的開發數據庫實例,在「產品」profile中,訪問產品數據庫。Profile也能夠經過環境和平臺被激活,你能夠自定義一個構建,它根據不一樣的操做系統或者不一樣的JDK版本有不一樣的行爲。
mysql

                                                                                                         ---《maven權威指南》spring

個人理解是一個profile就是一種構建環境,咱們能夠經過激活咱們自定義的構建環境來覆蓋已有的maven環境配置。sql

二、配置pom.xml添加properties 和profile

<profiles>
		<profile>
			<id>dev</id>
			<properties>
				<db.url>jdbc:mysql://localhost:3306/ddd</db.url>
			</properties>
		</profile>
		<profile>
			<id>test</id>
			<properties>
				<db.url>jdbc:mysql://192.168.1.235:3306/ddd</db.url>
			</properties>
		</profile>
	</profiles>
	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<db.url>jdbc:mysql://192.168.1.235:3306/ddd</db.url>
	</properties>

三、在根目錄加入一個資源屬性文件baseconfig.properties

db.jdbc.url=${db.url}
baseConfig.jndiName=${db.jndiName}

四、配置maven pom.xml使得資源屬性文件能共享到maven的properties屬性

在build裏面加入數據庫

<!-- 屬性文件額能夠訪問maven中的屬性  -->
		<resources>
			<resource>
				<directory>src/main/resources</directory>
				<filtering>true</filtering>
			</resource>
		</resources>


五、配置spring配置文件使得spring可以掃描到資源屬性文件

<context:property-placeholder location="classpath*:META-INF/props/*.properties"
		ignore-unresolvable="true" />

六、修改spring 配置文件改變數據源等配置硬編碼的情況

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
		<property name="driverClassName" value="com.mysql.jdbc.Driver">
		</property>
		<property name="url" value="${db.jdbc.url}">
		</property>
		<property name="username" value="root"></property>
		<property name="password" value="root"></property>
	</bean>

七、maven命令選擇構建環境 

jetty:run -Djetty.port=9080 -Dmaven.test.skip=true -Pdev運行項目apache


八、從今之後不再用手工修改配置切換開發、測試、生產環境了。

九、maven小結

關於maven的profile使用細節比較多,但一旦掌握將大大增長咱們的工做效率,各位有空可自行研究下。關於maven的使用可參考《maven權威指南》一書。maven

相關文章
相關標籤/搜索