我正在尝试使用 Netbeans(16 和 17)和 Payara 6 开始一个新项目。 我的第一个测试是让会话 bean 互相调用。 有两个bean a 和b。我可以从 Swing GUI 调用 bean a,bean a 唯一做的就是用 @EJB 注释注入 bean b 并调用 b 的 Remote 接口中的方法。
为了让编译器找到 bean b,我将它添加到 bean a 的库中。编译工作。在 Payara 中部署 bean a 时得到以下结果:
这意味着 bean b (CalledBean) 已经以某种方式部署了。我希望 bean b 位于单独的 EAR 文件中,但是当我尝试部署该 EAR a 时出现错误,指出已使用名称 CalledBean。它来自 bean a,但我不想那样,我想在某些 EAR 文件中保留不同的 bean,而与调用它们的人无关。
我不希望 Netbeans 项目最终基于库目录中的 jar 文件创建 beans。
关于如何解决这个问题的任何想法?
/一月
我曾尝试混合使用 jar,删除 bean 类并仅保留远程接口但没有成功。 我花了几个小时在谷歌上搜索这个但没有运气。
看起来 Netbeans 16 和 17 以及 JakartaEE 10 和 Payara 6 还没有准备好:-( 我必须在创建 sessionbeans 后手动将 javax 包更改为 jakarta,这没关系,但还有很多其他问题尚未解决,比如从 Netbeans 部署的可能性。
为了摆脱 bean b 的创建,我必须制作一个仅包含远程接口的 jar 文件并将其用作库。我写了一个 2 行 cmd 文件来解决这个问题。 我现在已经启动并运行了,可以继续使用 JakartaEE 10 进行实验。