【发布时间】:2019-06-17 11:22:16
【问题描述】:
我有一个 Payara5 应用服务器正在运行。我已经部署了一个包含一个无状态 EJB 的 JAR。
我有第二个 Java EE 项目,它是一个 JAX-RS。资源类之一需要访问此 EJB。
我正在使用 Maven。因此,对于引用 EJB 项目的 JAX-RS 应用程序,我在 pom.xml 中添加了依赖项。
<dependency>
<groupId>diagro.be</groupId>
<artifactId>HelloWorld</artifactId> <!-- EJB project -->
<version>1.0</version>
<scope>provided</scope>
</dependency>
在我的资源类中,我注入了 EJB。
@Inject HelloWorld hw;
JAX-RS 编译,war 包被构建。在部署时,我收到未找到 HelloWorld 类的错误。
我做的有可能吗?还是我需要做其他事情才能链接?
【问题讨论】:
-
为什么
HelloWorld的作用域配置为provided?有理由这样做而不是compile??您希望 EJB JAR 在您的 WAR 应用程序旁边运行吗? -
是的,ejb 需要在战争应用程序旁边运行。因为我希望它也可以在另一场战争中运行 ejb。我将其配置为“提供”,因为我认为这是正确的选择???
-
为什么每个 WAR 不能有自己的 EJB jar 副本?
标签: java jakarta-ee payara