我有两个java项目A和B,如果我在A中有一个credentials.properties文件并且我想访问项目B中的相同属性文件,有没有办法可以实现这一点?
这两个项目都是 Maven 构建的。
将明文密码提交到源代码管理通常是个坏主意……
在设置文件中使用共享的 Maven 配置文件怎么样?($HOME/.m2/settings.xml):
<settings>
..
<profiles>
<profile>
<id>credentials</dev>
<activeByDefault>true</activeByDefault>
<properties>
<password1>XXXXX</password1>
<password2>YYYYY</password2>
..
..
</properties>
</profile>
..
</profiles>
..
</settings>
这种方法对 Maven 更友好,并且支持加密。
如果您使用 Jenkins 构建代码,则可以使用插件集中管理设置文件:
你的项目仍然可以有一个默认值,关键是真正的密码是在源代码控制下的文件外部设置的。
尝试这个:
<resource>
<directory>${other projects dir}/src/main/resources</directory>
<includes>
<include>*.properties</include>
</includes>
<filtering>true</filtering>
</resource>
将路径作为完整路径
将属性文件保存在 B 的类路径中,并将项目 B 设置为项目 A 的依赖项。