【问题标题】:Use PersistenceUnit of standalone deployed jar [duplicate]使用独立部署的 jar 的 PersistenceUnit [重复]
【发布时间】:2012-10-03 13:28:28
【问题描述】:

可能重复:
Sharing a persistence unit across components in a .ear file

我有一个包含 JPA 实体和 persistence.xml 文件的项目。我将它们打包成 jar 文件并部署到应用服务器(JBoss 7.1)。

我有另一个项目,一个 web 应用程序,它有一个会话 bean,我想在那里使用这个持久性单元(通过注入)。

但是我得到了一个例外:

Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: JBAS011047: Component class com.mypackage.MyService for component MyService has errors: 
JBAS011440: Can't find a persistence unit named my_pu in deployment "mywebapp.war"

我尝试将 PU 的 jar 作为依赖添加到战争的 manifest.mf 中,但没有任何成功。

你知道如何实现吗?

【问题讨论】:

  • 这些是单独部署的人工制品,还是 JAR 是一个库?
  • 我想单独部署它们。
  • 他们应该是独立的。想象一下在同一个应用服务器上部署一个 WAR 文件,并且不小心使用了别人的 PU。 :(
  • 其实这是最终目标:在多个 Web 应用程序之间共享 PU。那我必须建立一个EAR吗?

标签: java jpa deployment jboss java-ee-6


【解决方案1】:

一种选择是使用 JBoss 模块,但我们没有直接的方法来实现 JPA。请参阅 JBoss 社区中的issue。另一种选择是使用 OSGI 来实现这一点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-10
    • 1970-01-01
    • 2013-05-27
    • 2014-11-13
    • 2011-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多