【发布时间】:2017-08-18 06:23:09
【问题描述】:
我正在开发一些开源项目,不希望将生产服务器的 URL 与源代码一起保存在公共存储库中,但同时我希望有机会使用 tomcat-maven 进行部署-插件。
我尝试将服务器 url 从 pom.xml 移动到 settings.xml,但没有成功。 您能否给我一个提示,将 url 排除在 pom.xml 之外的最佳方法是什么?
非常感谢。
这是我的配置: 设置.xml
<settings>
<servers>
<server>
<id>prod</id>
<username>deployer</username>
<password>********</password>
</server>
</servers>
</settings>
pom.xml(在项目中)
<project>
...
<profiles>
<profile>
<id>prod</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<server>prod</server>
<url>http://host:XXXX/manager/text</url>
<path>/</path>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>
更新:是的,可以将其保存在 .properties 文件中,但是:
- 将服务器配置保存在几个地方有点奇怪,即~/.m2/settings.xml、application.properties、pom.xml。只要用户名和密码能够存储在 settings.xml 中,最好将服务器 URL 也保留在那里。
- 实际上我无法让它工作,所以我一直在努力以这种方式作为解决方法......
更新 2: 刚刚发现,为什么读取属性的方法对我不起作用。我用过:
mvn tomcat7:redeploy
部署应用程序,并且 properties-maven-plugin 没有在 tomcat7-maven-plugin 配置中的占位符中注入属性。由于 deploy 阶段,我更改了 tomcat7-maven-plugin 执行后,属性注入通过调用正常工作:
mvn clean deploy
不过,我想知道,是否可以将服务器 URL 保留在 settings.xml 中?
【问题讨论】:
-
为什么要把它移到settings.xml ???
-
@davidxxx 如果你的意思是我为什么要将它移动到 settings.xml 而不是 application.properties,那么我刚刚更新了帖子。如果你的意思是,我为什么不喜欢将它保存在 pom.xml 中 - 因为将生产服务器的地址保存在源代码存储库中是一个安全漏洞,即使在私有存储库中也是如此,更何况公共存储库。跨度>
标签: java xml maven production-environment tomcat7-maven-plugin