maven 與profile,resources,properties 關係
阿新 • • 發佈:2020-11-19
top 的 pom.xml 看<profiles>的標籤
<profiles> <!--dat環境--> <profile> <id>DAT</id> <properties> <jdbc.DBType>WEBLOGICPOOL</jdbc.DBType> <jdbc.DBName>pro_lis</jdbc.DBName><env>dat</env> </properties> </profile> <!--開發環境--> <profile> <id>DEV</id> <properties> <!--<jdbc.DBType>WEBLOGICPOOL</jdbc.DBType>--> <!--<jdbc.DBName>pro_lis</jdbc.DBName>--> <jdbc.DBName>lissit</jdbc.DBName> <schema.version>1.0-DAT-SNAPSHOT</schema.version> <env>dat</env> </properties> </profile> <!--運維資料庫--> <profile> <id>OOPP</id> <properties> <jdbc.DBType>ORACLE</jdbc.DBType> <jdbc.DBName>oopp</jdbc.DBName> <jdbc.IP>MTAuMTY4LjQwLjIzNQ==</jdbc.IP> <schema.version>1.0-SNAPSHOT</schema.version> <env>sit</env> </properties> </profile> <!--uat環境--> <profile> <id>UAT</id> <properties> <jdbc.DBType>weblogicpool</jdbc.DBType> <jdbc.DBName>pro_lis</jdbc.DBName> <schema.version>1.0-UAT-SNAPSHOT</schema.version> <env>uat</env> </properties> </profile> </profiles>
說明一種情況:
這是maven工程,由此聯想到spring 工程 是通過application.yaml的 active -dat 來指定配置的屬性的
在properties使用${env} 引用pom.xml的定義
在java中如何引用properties屬性
MountedFile.properties中
總結: pom.xml的<變數> 值</變數> 來定義變數,在Env.propertiees中通過${變數名}的引用值,在MountedFile.properties 中來定義的變數(屬性),通過
InputStream stream = JdbcUrl.class.getClassLoader().getResourceAsStream(EnvInfo.getEnv()+"/MountedFile.properties");
Properties properties = new Properties();
properties.load(stream);
Root = properties.getProperty("path.root") + SEPARATOR;
來獲取屬性