【发布时间】:2023-03-17 19:00:01
【问题描述】:
我有一个基于插件的 Eclipse 应用程序,我将我的持久数据放在 X 插件中,并将 hibernate-database 服务放在 Y 插件中。
持久化类在X中,HibernateUtil、Dao、所有与hibernate相关的jar和持久化类的hbm.xml映射文件都在Y中。
当我运行应用程序时,我看到很多异常,例如:
java.lang.RuntimeException
javassist.CannotCompileException
java.lang.ClassNotFoundException
org.hibernate.HibernateException
它们都以“java.lang.NoClassDefFoundError: org/hibernate/proxy/HibernateProxy”结尾
如果我在本地主机上使用数据库,这些异常不会影响我的应用程序。 但是当我尝试连接到远程数据库时,我的嵌套 HQL 查询不起作用。我猜这与代理有关。
有没有办法在不将 X 和 Y 插件合并到一个插件中的情况下解决这个问题?
【问题讨论】:
-
我想您希望这两个插件彼此独立工作,对吧?如果是这种情况,您应该确保两个插件可以在没有另一个的情况下运行,即为每个插件独立声明 jar 依赖项。
-
每个插件的jar依赖是独立的。但是Y插件依赖于X。因为它需要X提供的持久化类。
标签: java eclipse hibernate eclipse-plugin