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;
来获取属性