开发和生产的属性

时间:2009-10-25 15:13:17

标签: java deployment configuration

我有一个GlassFish / j2ee应用程序,我在一个盒子上开发,生产是一个远程盒子。 我有一个制作文件的功能,我需要根据我的开发箱或制作文件的位置不同。 什么是自动切换方式,所以我不必根据部署位置编辑源文件?

4 个答案:

答案 0 :(得分:2)

您可以在此配置文件中使用properties文件并外部化特定于环境的内容(例如“文件位置”)。在构建时将足够的值放入其中(例如,使用Maven使用filtering and profiles)。将此文件包含在应用程序中,或使其在类路径的某个位置可用。

答案 1 :(得分:1)

最简单的方法是定义一个系统属性,该属性指定数据的文件系统位置。生产应用程序服务器将定义一个值(在启动脚本中使用java -D),您的开发应用服务器将定义另一个值。您的应用程序源将查询系统属性值(使用System.getProperty())以发现适当的位置。

答案 2 :(得分:1)

将您需要的信息放在JNDI中 - 这就是它的设计目标。

如果信息不存在,请考虑让您的申请拒绝做任何事情。

答案 3 :(得分:0)

基本上,您正在尝试存储根据您的环境而变化的任意数据。如果你现在在你的应用程序(即数据库)中这样做,我会把它放在那里。