我有一个GlassFish / j2ee应用程序,我在一个盒子上开发,生产是一个远程盒子。 我有一个制作文件的功能,我需要根据我的开发箱或制作文件的位置不同。 什么是自动切换方式,所以我不必根据部署位置编辑源文件?
答案 0 :(得分:2)
您可以在此配置文件中使用properties
文件并外部化特定于环境的内容(例如“文件位置”)。在构建时将足够的值放入其中(例如,使用Maven使用filtering and profiles)。将此文件包含在应用程序中,或使其在类路径的某个位置可用。
答案 1 :(得分:1)
最简单的方法是定义一个系统属性,该属性指定数据的文件系统位置。生产应用程序服务器将定义一个值(在启动脚本中使用java -D
),您的开发应用服务器将定义另一个值。您的应用程序源将查询系统属性值(使用System.getProperty()
)以发现适当的位置。
答案 2 :(得分:1)
将您需要的信息放在JNDI中 - 这就是它的设计目标。
如果信息不存在,请考虑让您的申请拒绝做任何事情。
答案 3 :(得分:0)
基本上,您正在尝试存储根据您的环境而变化的任意数据。如果你现在在你的应用程序(即数据库)中这样做,我会把它放在那里。