1. 程式人生 > 實用技巧 >maven 與profile,resources,properties 關係

maven 與profile,resources,properties 關係

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;
來獲取屬性