在两个应用程序中访问相同的hibernate.cfg.xml

在两个应用程序中访问相同的hibernate.cfg.xml,hibernate,maven,ear,Hibernate,Maven,Ear,我有带maven和hibernate的Web应用程序 我有两个WAR和一个jar,其中包含常见的数据库代码,包括获取sessionfactory 我使用ear,其中上述3个都是WebModule。在运行时,两个war都访问jar。 我能够在一场包含hibernate.cfg.xml的战争中访问此数据库代码。 在其他战争中,访问数据库代码的可行解决方案是什么? 我是否应该将hibernate.cfg.xml也保存在jar中,以便两个项目都可以访问它,或者以任何其他方式访问它 Ear结构是在这个下的

我有带maven和hibernate的Web应用程序

我有两个WAR和一个jar,其中包含常见的数据库代码,包括获取sessionfactory

我使用ear,其中上述3个都是WebModule。在运行时,两个war都访问jar。 我能够在一场包含hibernate.cfg.xml的战争中访问此数据库代码。 在其他战争中,访问数据库代码的可行解决方案是什么? 我是否应该将hibernate.cfg.xml也保存在jar中,以便两个项目都可以访问它,或者以任何其他方式访问它


Ear结构是在这个

下的正确答案,
hibernate.cfg.xml
既不在jar中,也不在Ear文件中,而是在“正常”文件系统中。此配置文件包含对特定数据库的访问(例如用户、密码、名称和端口)。这些数据不应包含在交付中。管理员可能会更改密码(例如新密码)。

虽然我同意你的观点,但我也不同意。您可以使用Maven配置文件为每台服务器执行此设置。Johanna和carlspring感谢您的支持,我将检查此配置文件并检查解决方案。您好Johanna,我已修改jar,在访问会话工厂时,我使用了名为“path”的静态变量,该变量具有访问hibernate.cfg.xml的路径。在wars部署时,该值被分配给该变量。但是,在从war访问会话工厂时,初始化该路径变量工作正常,其他war抛出空指针异常。我应该如何工作?当Hibernate无法找到或访问配置文件时,您不会得到空指针异常。你会得到一个不同的例外。您的代码中一定有其他错误。