【发布时间】:2019-02-03 02:06:56
【问题描述】:
我有使用 maven 构建步骤动态更新的应用程序属性文件。
mvn clean -Dusername=user1 -Durl=xxxx -Dpassword=xxxx -DskipTests 安装
jdbc.url=${url}
jdbc.username=${username}
jdbc.password=${password}
我在配置类中读取这些属性
@Configuration
@ImportResource("classpath:/spring-beans.xml")
@PropertySource("classpath:/application.properties")
public class ApplicationConfiguration {
@Value("${jdbc.url}")
private String url;
@Value("${jdbc.username}")
private String username;
@Value("${jdbc.password}")
private String password;
@Bean(name = "c3p0DataSource")
public ComboPooledDataSource dataSource() throws PropertyVetoException,
IOException {
logger.info("Creating Datasource for {}",System.getenv("SPRING_DATASOURCE_URL"));
// logger.info("Creating Datasource for username {}",
prop.getProperty("username"));
logger.info("Creating Datasource for {}", System.getenv("username"));
ComboPooledDataSource dataSource = new ComboPooledDataSource();
dataSource.setDriverClass("com.mysql.jdbc.Driver");
logger.info("User Name :" + username);//returning $username instead of user1
logger.info("password :" + password);
System.out.println("User name : " + username);
dataSource.setJdbcUrl(url);
dataSource.setUser(username);
dataSource.setPassword(password);
return dataSource; } }
我没有得到更新的值,而是得到了 $username, $password 作为值,谁能帮助我这里缺少什么?
我修改后的属性文件如下所示
jdbc.url=xxxx
jdbc.username=user1
jdbc.password=xxxx
【问题讨论】: