2013-02-19 60 views
2

我有maven和hibernate的web应用程序。在两个应用程序中访问相同的hibernate.cfg.xml

我有2场战争和一个jar包含常见的数据库代码,包括获得sessionfactory。

我使用的耳朵其中3以上都是web模块。在运行时,两个战争都会访问jar。 我可以在一个包含hibernate.cfg.xml的战争中访问这个数据库代码。 在其他战争中访问数据库代码的可行解决方案是什么? 我是否还应该在jar中保留hibernate.cfg.xml文件,以便两个项目都可以访问它或以其他方式执行此操作?

耳结构是一些什么样的根据本communicate between wars and jar inside ear

回答

2

hibernate.cfg.xml正确的答案应该是既不在一个罐子里,也不在耳边文件,但在“正常”的文件系统。此配置文件包含对特定数据库的访问权限(例如用户,密码,名称和端口)。这些数据不应包含在交付中。他们可能会被管理员更改(例如新密码)。

+0

虽然我同意你的看法,但我也不同意。您可以让Maven配置文件为每台服务器为您执行此设置。 – carlspring 2013-02-19 17:09:42

+0

约翰娜和carlspring谢谢你的依赖我会通过这一点,并检查解决方案。 – vg123 2013-02-20 06:08:21

+0

你好约翰娜,我修改了jar,而访问会话工厂时,我使用了名为'path'的静态变量,它有访问hibernate.cfg.xml的路径。在部署战争的时候,这个值被分配给这个变量。但是,再次访问这个会话工厂,从初始化这个路径变量的战争中工作正常,其他战争正在抛出空指针异常。我应该如何做这个工作? – vg123 2013-02-20 11:26:05

相关问题