Java 11 和 javax.rmi.PortableRemoteObject

问题描述 投票:0回答:2

我使用的是 Payara 5.29.0 企业服务器,支持 Jakarta EE 8。

我正在尝试移植 Java 11 的代码。

当我编译时出现错误:

    cannot find symbol
    [ERROR]   symbol:   variable PortableRemoteObject

代码包含在EJB3之前使用的

javax.rmi.PortableRemoteObject.narrow

javax.rmi.PortableRemoteObject 是否在某个库中,以便我可以将其添加到 maven pom.xml 中?

我尝试过依赖

    <dependency>
        <groupId>jakarta.ejb</groupId>
        <artifactId>jakarta.ejb-api</artifactId>
        <version>3.2.6</version>
    </dependency>

但我仍然遇到同样的错误。

我可以将代码移植到 EJB3,但我想知道是否可以仅添加 Maven 依赖项来处理这个问题?

jakarta-ee ejb payara
2个回答
2
投票

javax.rmi.PortableRemoteObject 直到 JDK10 都是 JDK 本身的一部分。它在 JDK11 中被删除。如果我正确理解https://openjdk.org/jeps/320,所有 rmi 都在 11 中被删除。


0
投票

RMI 仍然存在于 JDK 11 及更高版本中,但 PortableRemoteObject 已被删除。使用 glassfish 包:

https://dev.to/dbh/java-11-making-rmi-calls-and-ejbs-work-again-1l5b

<dependency>
  <groupId>org.glassfish.corba</groupId>
  <artifactId>glassfish-corba-orb</artifactId>
  <version>4.2.0</version>
</dependency>
© www.soinside.com 2019 - 2024. All rights reserved.