我有一个GlassFish中/ J2EE应用程序,并且我制定一个框,生产遥控盒。 我有一个功能,使文件,我需要的文件的位置,根据我的dev的盒子或者生产不同。 什么是自动的方式做开关,所以我不必须编辑基于它被部署在源文件?
Answer 1:
最简单的方法是定义指出在那里为你的数据的文件系统位置是一个系统属性。 生产应用程序服务器将定义一个值(使用java -D
在启动脚本),和你的开发应用服务器将定义的另一个值。 您的应用程序源会征询系统属性值(使用System.getProperty()
来发现合适的位置。
Answer 2:
您可以使用properties
文件并外化环境的具体的东西(比如你的“文件位置”)在此配置文件。 把适当的值在它在生成时(例如,使用过滤和轮廓与Maven)。 在申请文件或使其某处类路径。
Answer 3:
把你在JNDI需要的信息 - 这就是它是专为。
考虑让你的应用程序拒绝做任何事情,如果信息不存在。
Answer 4:
从本质上讲,你正在尝试存储根据环境的不同改变任意数据。 如果你现在做,在你的应用程序(如数据库),我只想把它放在那里。
文章来源: Properties for dev and production