【发布时间】:2014-12-27 23:46:12
【问题描述】:
我有一个使用 java 和 struts 1.3.10 框架的 Eclipse 项目。
我使用 .properties 文件(比如configApp.properties)来管理生产 webapp、演示 webapp 和开发 webapp。
此 .properties 文件用于 ServletContextListener 和实现 IntrospectionUtils.PropertySource 的 PropertyDecoder 类(请参阅this question)。
现在,我根据我必须完成的任务(即构建新的生产版本)手动更改configApp.properties。
如何使这一步自动化?
由于三种构建类型的 .properties 文件名必须相同,我想创建三个文件夹,每个文件夹包含 configApp.properties(一个用于生产,一个用于演示,一个用于开发)。
有没有更好的方法,例如通过将参数传递给构建(我认为这是不可能的,因为必须编译实现 IntrospectionUtils.PropertySource 的 PropertyDecoder 类并将 .class 放在 Tomcat lib 文件夹中)?如果是这样,我如何参数化 ServletContextListener 和 PropertyDecoder 类,以便它们可以输入正确的 .properties 文件?
【问题讨论】:
-
你是否使用任何构建工具,如 maven、gradle 或 ant?此类任务由 maven、资源过滤和配置文件处理。
-
@nomoa:不,我不知道。通过使用 Maven 是否可以保持相同的目录结构? Maven 构建过程在 /src/main/java 中找到源文件,但在 Eclipse 中它们位于 /src/ 文件夹中,我不会更改目录树。
-
Maven 设计为使用默认文件结构,因此通常比更改项目结构更难为自定义结构配置 maven。如果您真的不想更改项目结构,请选择更灵活的 Gradle。
-
请注意,Eclipse 和 Maven 可以很好地协同工作。大部分的eclipse配置都是在eclipse读取maven pom.xml文件时自动完成的。我们仅在大部分项目中使用 maven,对于一些需要自定义内容的项目,我们使用 maven+gradle。
-
为您的项目添加一个与 Eclipse 无关的构建工具是值得的。我可能会告诉您的最佳建议是使用构建工具(maven 或 gradle)配置您的项目。您提出的问题之类的事情将不再是问题。
标签: java eclipse build tomcat7 properties-file