我尝试用Java9运行我的应用程序(前端用Java Swing开发,服务器用EJB开发,部署在Wildfly8)。当客户机试图建立EJB连接时,会出现以下异常:
09:53:42,358 INFO [xnio] XNIO version 3.2.0.Final
09:53:42,465 INFO [nio] XNIO NIO Implementation Version 3.2.0.Final
09:53:42,507 DEBUG [nio] Started channel thread 'Remoting "config-based-naming-client-endpoint" I/O-1', selector sun.nio.ch.WindowsSelectorImpl@4b4a5caf
RmiServiceFactpry ExceptionInInitializerError
java.lang.ExceptionInInitializerError
at org.jboss.ejb.client.remoting.RemotingConnectionEJBReceiver.<init>(RemotingConnectionEJBReceiver.java:148)
at org.jboss.ejb.client.remoting.RemotingConnectionEJBReceiver.<init>(RemotingConnectionEJBReceiver.java:106)
at org.jboss.ejb.client.EJBClientContext.registerConnection(EJBClientContext.java:465)
at org.jboss.naming.remote.client.ejb.RemoteNamingStoreEJBClientHandler.associate(RemoteNamingStoreEJBClientHandler.java:78)
at org.jboss.naming.remote.protocol.v1.RemoteNamingStoreV1.<init>(RemoteNamingStoreV1.java:71)
at org.jboss.naming.remote.protocol.v1.VersionOne.getRemoteNamingStore(VersionOne.java:50)
at org.jboss.naming.remote.protocol.Versions.getRemoteNamingStore(Versions.java:55)
at org.jboss.naming.remote.client.RemoteContextFactory.createVersionedStore(RemoteContextFactory.java:73)
at org.jboss.naming.remote.client.HaRemoteNamingStore.failOverSequence(HaRemoteNamingStore.java:202)
at org.jboss.naming.remote.client.HaRemoteNamingStore.namingStore(HaRemoteNamingStore.java:149)
at org.jboss.naming.remote.client.HaRemoteNamingStore.namingOperation(HaRemoteNamingStore.java:130)
at org.jboss.naming.remote.client.HaRemoteNamingStore.lookup(HaRemoteNamingStore.java:272)
at org.jboss.naming.remote.client.RemoteContext.lookup(RemoteContext.java:79)
at org.jboss.naming.remote.client.RemoteContext.lookup(RemoteContext.java:83)
at java.naming/javax.naming.InitialContext.lookup(Unknown Source)
at com.dataloy.client.core.RmiServiceFactory.createRemote(RmiServiceFactory.java:105)
at com.dataloy.client.core.RmiServiceFactory.getServiceImpl(RmiServiceFactory.java:96)
at com.dataloy.core.AbstractServiceFactory.getService(AbstractServiceFactory.java:58)
at com.dataloy.DataloyEngine.getService(DataloyEngine.java:198)
at com.dataloy.DataloyEngine.login(DataloyEngine.java:548)
at com.dataloy.client.login.LoginPanel.doLogin(LoginPanel.java:511)
at com.dataloy.client.login.LoginPanel.access$500(LoginPanel.java:56)
at com.dataloy.client.login.LoginPanel$5.run(LoginPanel.java:452)
Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make java.io.OptionalDataException(boolean) accessible: module java.base does not "opens java.io" to unnamed module @312002a1
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(Unknown Source)
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(Unknown Source)
at java.base/java.lang.reflect.Constructor.checkCanSetAccessible(Unknown Source)
at java.base/java.lang.reflect.Constructor.setAccessible(Unknown Source)
at org.jboss.marshalling.Marshalling$OptionalDataExceptionCreateAction$1.run(Marshalling.java:385)
at org.jboss.marshalling.Marshalling$OptionalDataExceptionCreateAction$1.run(Marshalling.java:381)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at org.jboss.marshalling.Marshalling$OptionalDataExceptionCreateAction.<init>(Marshalling.java:381)
at org.jboss.marshalling.Marshalling$OptionalDataExceptionCreateAction.<init>(Marshalling.java:376)
at org.jboss.marshalling.Marshalling.<clinit>(Marshalling.java:374)
... 23 more
我看到Java9中引入的新模块管理有一些问题,但我不明白应该怎么做。
根据这个答案,您需要将--add-opens java.base/java.io=all-unnamed
添加到启动应用程序的java
命令中。
我开始学习使用java9拼图的新特性。 我按照这个教程,我管理创建一个项目与两个模块和一个外部模块依赖。(我在下面发布pom文件代码,以给出产品结构的想法) 现在我想在Eclipse Oxygen中导入我的maven项目(支持Java9插件),以便在Eclipse IDE中运行和调试该项目。 我用氧气。1a和我安装了对Oxygen4.7的Java9支持 我使用“导入现有Maven项目”并选择根po
我有1个应用程序和2个模块 框架结构 但我不能在MyApp中使用MyModule的文件。IDE显示我“无法访问”错误,我想扩展一个MyModule类的类。而且它不是从MyModule创建类的,有人对此有想法吗?怎么了?
例如。 这应该运行一个简单的hello world应用程序,摘自oracle文档。然而,当我‘运行’这个代码,没有窗口打开。取而代之的是打开一个名为“Java”的应用程序。看起来'java'只是一个位于'jdk1.8.0_25.jdk/contents/home/bin'中的'UNIX可执行文件‘。应用程序'java'绝对不显示任何东西,并且在没有强制退出的情况下无法关闭。 我在MacBook上运
我有一个Java8应用程序,它使用JavaFX,主类扩展了JavaFX.application.application。目前,我将它作为一个fat jar交付,它在Oracle Java8上运行良好。 现在我希望它能够在OpenJDK11上运行。为了添加JavaFX,我已经将org.openjfx中的工件添加到类路径中,并将它们包含在fat JAR中。如果我从命令行启动我的jar,我会得到 脏的一
然后我修改了module-info.java,从而更改了应用程序的模块名: 在模块名称更改后,如何正确更新命令行/运行配置有什么提示吗?
我正在尝试创建Java9的HelloWorld模块,下面给出了以下步骤。 右键单击项目(即com.hello) 右键单击源文件夹(即com.hello) 右键单击包(即com.hello) 右键单击HelloWorld 启动层初始化期间出错 JAVAlang.module。FindException:模块com。你好,没找到 PS:尝试了这个解决方案后,我的项目结构如下 注意:我还注意到一件事。在