我对我的 Maven 项目中 hibernate-annotations jar 的位置有一个具体的问题。
我的项目由三个模块组成。模块客户端和服务器都依赖于共享模块。Maven 为部署构建了两个包:Client + Shared 和 Server + Shared。
带注释的 Hibernate 实体位于 Shared 模块中,因为我需要在客户端和服务器之间传递它们(通过 RMI)。
现在我的问题来了。hibernate-annotations.jar 用作 Shared 模块的依赖项,以允许编译 Hibernate 实体。库本身依赖于 hibernate-core。结果,我在部署的客户端应用程序中拥有了休眠库,即使我在那里并不真正需要它们。罐子很大,我想让客户尽可能苗条。
是否有一些成熟的技术可以避免这个问题?想到的一个是使用基于 XML 的 Hibernate 配置,这样我就可以将 Hibernate 依赖项移动到 Server 模块,但我想坚持使用注释。
谢谢。