【參考】:maven pom.xml加載不一樣properties配置[轉]mysql
首先 看看效果:web
點開咱們項目中的Maven projects 後,會發現右側 咱們profile有個可勾選選項。默認勾選localhost。localhost對應項目啓動後,會加載配置左側localhost文件夾下面的jdbc.perperties 和 redis.properties。 對於項目中存在測試數據庫或者運行數據庫的區分的時候 咱們能夠經過勾選快速切換。那麼咱們是如何實現的呢redis
一:在左側文件目錄項目 配置相對於的文件目錄,而且註釋掉你以前的加載 ,如圖所示,spring
配置好所需的jdbc 連接 須要注意的 (正確寫法)url=jdbc:mysql://127.0.0.1:3306/course_design?useUnicode=true&characterEncoding=UTF-8 中間的間隔符 必須用 & 替換掉以前寫的 (錯誤寫法)url=jdbc:mysql://127.0.0.1:3306/course_design?useUnicode=true&characterEncoding=UTF-8sql
具體緣由參考 Caused by: org.xml.sax.SAXParseException; lineNumber: 30; columnNumber: 84; 對實體 "characterEncoding"數據庫
二:配置 pom.xmlapache
<!--配置profiles--> <profiles> <profile> <id>localhost</id> <!--默認勾選設置--> <activation> <activeByDefault>true</activeByDefault> </activation> <properties> <env>localhost</env> </properties> </profile> <profile> <id>dev</id> <properties> <env>dev</env> </properties> </profile> <profile> <id>master</id> <properties> <env>master</env> </properties> </profile> </profiles> <build> ...................................... </build>
<build>
............................. <!--指定待加載的文件位置--> <filters> <filter>configs/${env}/jdbc.properties</filter> <filter>configs/${env}/redis.properties</filter> </filters> <!--指定須要這些加載數據的 配置文件位置--> <resources> <resource> <directory>src/main/resources</directory> <includes> <include>**/**</include> </includes> <filtering>true</filtering> </resource> </resources> </build>
理論上 這個時候 以及在pom,xml中 配置完成了 點擊編譯以後 若是 正常是能夠的 app
但我這裏報錯了 3 字節的 UTF-8 序列的字節 3 無效 後來查詢資料 發現還須要配置一個utf-8編譯 【參考】http://blog.csdn.net/lzupb/article/details/53008481 maven
<!-- resource插件 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>2.6</version> <configuration> <encoding>UTF-8</encoding> </configuration> </plugin>
其實後來 還有一個問題 就是測試
這個時候 前面介紹的jdbc url寫法就解決了 把& 變成 &; 就行了