我试图避免将密码放在版本控制的文件和打包的文件中。为了做到这一点,我的项目中不能有context.xml(包含我的数据库信息)。
我目前正在使用Tomcat 7.0.35 Manager部署war文件,因为它允许指定服务器上context.xml文件的文件路径。
这一切都很好,只是我没有找到从Netbeans 7.2.1开发的方法。因此,当我尝试在Netbeans中运行我的项目时,我收到以下消息
In-place deployment at (...)/trace
(...)/trace/target/trace/META-INF/context.xml (No such file or directory)
非常感谢任何有关配置Netbeans或其他方式来实现我的目标的帮助。
答案 0 :(得分:4)
Netbeans需要META-INF/context.xml
才能从IDE运行您的战争。根据我的观察,如果context.xml
不存在则创建它。
如何在本地项目工作区中保留META-INF/context.xml
,但是添加.gitignore
(或SCM等效项)的路径,以免意外提交它?
答案 1 :(得分:3)
我找到了一种合适的方法来解决我的具体情况。我保留了context.xml
但使用了Tomcat支持的Apache Ant-style variable substitution。
有several ways to define the environment variables但我选择使用$CATALINA_BASE/conf/catalina.properties
文件,这对我来说似乎更为可靠。我还在源文件中附上catalina.example.properties
来记录应用程序所期望的变量。
希望这有助于其他人。