如何在properties文件中读取系统环境变量(MyBatis Maven插件场景)
在MyBatis Maven插件的properties文件中读取Mac系统环境变量的方法
我来帮你搞定这个问题!其实在MyBatis的properties配置文件里读取Mac系统环境变量很直接,不过得注意几个小细节,一步步来:
1. 先确认环境变量能被Maven读取到
首先得确保你在.profile里配置的环境变量是生效的,并且能被Maven进程获取到:
- 打开终端,输入
echo $DB_USER(这里假设你在.profile里定义的用户名变量是DB_USER),如果能输出你的数据库用户名,说明变量生效;同理用echo $DB_PWD验证密码变量。 - 如果没输出,检查
.profile里的配置是否正确,应该是类似这样的格式:
然后执行export DB_USER=your_database_username export DB_PWD=your_database_passwordsource ~/.profile让配置立即生效,或者重启终端。 - 如果你用的是zsh终端(现在Mac默认是zsh),建议把环境变量写到
~/.zshrc里,因为zsh默认不会加载.profile,写完后执行source ~/.zshrc生效。
2. 在properties文件中引用环境变量
在你的development.properties(或对应环境的properties文件)里,直接用${环境变量名}的语法引用即可,比如:
# development.properties jdbc.url=jdbc:mysql://localhost:3306/your_database_name jdbc.username=${DB_USER} jdbc.password=${DB_PWD}
⚠️ 注意:环境变量名是大小写敏感的,要和你在.profile/.zshrc里定义的完全一致。
3. 确保MyBatis插件正确加载配置
最后要确认你的MyBatis Maven插件和配置文件已经正确关联了这个properties:
- 在
pom.xml的插件配置里,要指定环境或者确保配置文件能读取到properties:<plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.4.2</version> <!-- 使用你实际的插件版本 --> <configuration> <configurationFile>src/main/resources/generatorConfig.xml</configurationFile> <overwrite>true</overwrite> </configuration> </plugin> - 在
generatorConfig.xml里,通过<properties>标签引入你的环境配置文件,然后在JDBC连接配置中使用变量:<properties resource="development.properties"/> <context id="DB2Tables" targetRuntime="MyBatis3"> <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver" connectionURL="${jdbc.url}" userId="${jdbc.username}" password="${jdbc.password}"> </jdbcConnection> <!-- 其他生成配置... --> </context>
额外注意事项
如果你的数据库密码包含特殊字符(比如!、@、空格等),可以在定义环境变量时用双引号包裹值,比如:
export DB_PWD="your!special@password"
内容的提问来源于stack exchange,提问作者lch
相关产品推荐
相关产品推荐

