我是一名初级开发人员,这是我的第一个问题,如果我写错了,抱歉。
我目前正在更新最初使用 Java 8、JavaEE6、ANT、Microsoft SQL Server 和 Payara 5.184 的非常旧的应用程序,它有 2 个模块、1 个 ejb 和 1 个带有 java swing 的前端
我能够更改为 Maven、java 17、JakartaEE10。我不知道如何检查它是否全部正常工作,因此我决定执行相同的步骤在 Payara 服务器上进行部署。
我也必须更新 Payara 服务器:(
但是当我尝试让一切正常工作时,出现以下错误:
OpenJDK 64-Bit Server VM warning: Archived non-system classes are disabled because the java.system.class.loader property is specified (value = "org.glassfish.appclient.client.acc.agent.ACCAgentClassLoader"). To use archived non-system classes, this property must not be set
Error occurred during initialization of VM
java.lang.Error: org.glassfish.appclient.client.acc.agent.ACCAgentClassLoader
at java.lang.ClassLoader.initSystemClassLoader([email protected]/ClassLoader.java:2000)
at java.lang.System.initPhase3([email protected]/System.java:2250)
Caused by: java.lang.ClassNotFoundException: org.glassfish.appclient.client.acc.agent.ACCAgentClassLoader
at jdk.internal.loader.BuiltinClassLoader.loadClass([email protected]/BuiltinClassLoader.java:641)
at jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass([email protected]/ClassLoaders.java:188)
at java.lang.ClassLoader.loadClass([email protected]/ClassLoader.java:525)
at java.lang.Class.forName0([email protected]/Native Method)
at java.lang.Class.forName([email protected]/Class.java:467)
at java.lang.ClassLoader.initSystemClassLoader([email protected]/ClassLoader.java:1986)
at java.lang.System.initPhase3([email protected]/System.java:2250)
我不知道该怎么办,我已经尝试将 Payara 更改为 docker 容器,同样的错误,并且互联网上的几篇文章对我没有帮助。
我执行了以下步骤:
1 - 创建 APP.ear
2 - 使用maven-assemble-plugin创建client.jar
3 - /.../payara6/glassfish/bin/asadmin deploy --force=true --retrieve /tmp/ /.../APP.ear(部署在 Payara 上)。
4 - /.../payara6/glassfish/bin/appclient -client /.../client.jar -targetserver 127.0.0.1 -verbose (这使所有工作)
5 - 错误:(
有人可以帮助我吗?
谢谢!!
我猜您的问题与 Glassfish 客户端位置有关。我发现了一些有用的东西。