我有一个GlassFish/j2ee应用程序,我在一个盒子上开发,生产是一个远程盒子。 我有一个制作文件的功能,而且我需要根据我的开发盒或制作文件的位置不同。 什么是自动切换方式,所以我不必根据它的部署位置来编辑源文件?开发和生产的属性
开发和生产的属性
回答
最简单的方法是定义一个系统属性,它指定数据文件系统位置的位置。生产应用程序服务器将定义一个值(在启动脚本中使用java -D
),并且您的开发应用程序服务器将定义另一个值。您的应用程序源将查询系统属性值(使用System.getProperty()
)来发现适当的位置。
系统属性是全局的。这是一个不好的习惯(说一个人不得不撤销在一个库中使用System.properties的问题,这个应用程序只能被一个独立的应用程序使用,被许多人使用的网络应用程序 - 哦记忆体) – 2009-10-25 16:27:38
是的,它们对JVM而言是全球性的。您是否告诉我您将生产应用程序和非生产应用程序混合在同一个JVM中?在大多数情况下,我会同意,使用系统属性是一个不好的举动,但这种事情恰好是*系统属性的用途。 – skaffman 2009-10-25 18:17:39
这会假设你的应用服务器只运行一个需要知道存储文件夹的web应用。在网络应用上下文中设置属性可能会更好。 – rsp 2009-10-25 19:48:50
本质上,您正试图存储随您的环境而变化的任意数据。如果您目前在您的应用程序(即数据库)中执行此操作,我只会将其放在那里。
如果您尝试将PROD数据库同步到DEV并放弃其中的自定义设置,则会出现问题。 – 2009-10-25 15:31:01
把你需要的信息放在JNDI中 - 这就是它的设计目的。
考虑让你的应用程序拒绝做任何事情,如果信息不存在。
您可以使用properties
文件并在此配置文件中外部化特定于环境的内容(如“文件位置”)。在构建时提供足够的值(例如,使用带有Maven的filtering and profiles)。将该文件包含在应用程序中或在类路径的某个地方提供。
- 1. 开发和生产
- 2. 的Rails:开发和生产
- 3. Javascript“开发”和“生产
- 4. GWT - Log4j - 开发和生产
- 5. Rails的初始开发和生产
- 6. PHP中的开发和生产环境
- 7. 不同的网站开发和生产
- 8. 创建开发和生产环境?
- 9. iOS Parse Push:开发和生产环境
- 10. 开发和生产数据库
- 11. 什么是开发和生产煎茶
- 12. 开发和生产工作流程
- 13. Mule ESB开发和生产模式
- 14. 如何在开发和生产检票
- 15. Cordova Firebase:使用键开发和生产
- 16. BIRT和iServer,开发/ QA /生产环境
- 17. 生产和开发项目环境
- 18. 生产和开发log4net配置?
- 19. Webpack:独立生产和开发版本
- 20. 烧瓶生产和开发模式
- 21. 从hybris开发到生产
- 22. 开发vs生产fusebox.xml
- 23. SharePoint开发/生产环境
- 24. 开发/生产模式中的Rails 3和资产管道
- 25. 快速关闭和打开CustomErrors进行生产和开发
- 26. 在开发和生产中配置Rails资产管道
- 27. 如何区分应用程序中的测试属性和生产属性?
- 28. 角2在开发和生产与IIS和的WebPack
- 29. 使用Phing和SVN的生产和开发环境
- 30. 开发与生产的不同路径
这些文件是相对于您的Web应用程序的安装目录还是部署目录之外的文件? – rsp 2009-10-25 16:47:43
外部部署目录 – bmw0128 2009-10-26 15:25:38