gpt4 book ai didi

java - Wildfly 10 中的 org.jboss.security.jndi.JndiLoginInitialContextFactory ClassNotFound

转载 作者:太空宇宙 更新时间:2023-11-04 11:35:48 27 4
gpt4 key购买 nike

我正在尝试将现有的 JBoss 5 应用程序迁移到 JBoss 7 EAP/WildFly 10 中工作。该应用程序的一部分尝试通过执行以下操作来远程访问 EJB:

Properties properties = new Properties();
properties.put(Context.INITIAL_CONTEXT_FACTORY, "org.jboss.security.jndi.JndiLoginInitialContextFactory");
properties.put(Context.PROVIDER_URL, "jnp://localhost:1099");
properties.put(Context.SECURITY_PRINCIPAL, "noone");
properties.put(Context.SECURITY_CREDENTIALS, "noone");

initContext = new InitialContext(properties);

当应用程序启动时,WildFly 会抛出错误消息:

Caused by: java.lang.ClassNotFoundException: org.jboss.security.jndi.JndiLoginInitialContextFactory from [Module "deployment.ear-1.0.ear.ear-1.0.servlet-1.0.war:main" from Service Module Loader]

我怀疑这是因为 JndiLoginInitialContextFactory 类不再位于同一个包中,但我不确定在哪里可以找到它。我尝试运行 WindUp,但它在启动时抛出 NullPointerException 并且不生成报告。

在 Wildfly 10 中哪里可以找到这个类?我尝试过使用Help4j找到类(class),但这也没有帮助我。我是否缺少 Wildfly 10 的库?

最佳答案

您有从 EAP 7 到 EAP 5 的调用吗?如果是这样,您必须将 jbossall-client 打包到您的应用程序中。

在 EAP 5 上调用 EJB 的客户端代码将保持不变。

您需要确保所需的 EAP 5 客户端 jar 与应用程序打包在一起。此错误中缺少的类位于 EAP 5 的 $JBOSS_HOME/client/jbosssx-as-client.jar 中。

关于java - Wildfly 10 中的 org.jboss.security.jndi.JndiLoginInitialContextFactory ClassNotFound,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43303438/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com