gpt4 book ai didi

java - 如何使用命令行部署EJB 3.0?

转载 作者:行者123 更新时间:2023-12-02 02:59:08 25 4
gpt4 key购买 nike

我正在关注this JEE 教程的基础知识,该教程提供了创建最小 EJB 部署的说明。

我已完成教程中的步骤,但对以下命令行调用进行了更改

  • >设置 CLASSPATH=.;E:\wildfly-10.1.0\wildfly-10.1.0.Final\bin\client\jboss-client.jar; (从教程中的长列表更改)
  • >jar -cvf SimpleSessionApp.ear beans*.java (将文件扩展名从 .ejb3 更改为 .ear)
  • 复制 SimpleSessionApp.ear E:\wildfly-10.1.0\wildfly-10.1.0.Final\standalone\deployments (复制到 wildfly 部署目录)

我启动了服务器,没有收到任何错误。但是,我没有获得部署 bean 时服务器日志输出的一组标准名称。

我使用教程中的以下命令运行客户端应用程序

  • >java -D java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory -D java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces -D java.naming .provider.url=localhost client.SimpleSessionClient 现在是好人的时刻

我得到以下错误作为输出

Error: Could not find or load main class java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory

我知道该教程适用于旧版本的 Java 和 JBoss。但是,我修改了旧的引用以指向上面提到的新环境。所以我认为版本控制在这里不是问题?顺便说一句,我刚刚开始学习 EJB。任何见解都会很棒。

我的环境

  • Java 1.8.0.212
  • Wildfly 10.1.0.Final
  • 记事本

最佳答案

您应该查看引用文档 https://docs.wildfly.org/17/Developer_Guide.html#JNDI_Remote_Reference因为您似乎传递了错误的配置参数。

最终属性 env = new Properties();
env.put(Context.INITIAL_CONTEXT_FACTORY, "org.jboss.naming.remote.client.InitialContextFactory");
env.put(Context.PROVIDER_URL, "http-remoting://localhost:8080");
//仅当没有加载 ejb 客户端配置时才需要下面的属性(例如
//类路径中的 jboss-ejb-client.properties)并且上下文将用于查找 EJB
env.put("jboss.naming.client.ejb.context", true);
InitialContext RemoteContext = 新的InitialContext(env);
RemoteCalculator ejb = (RemoteCalculator) remoteContext.lookup("wildfly-http-remoting-ejb/CalculatorBean!"
+ RemoteCalculator.class.getName());

关于java - 如何使用命令行部署EJB 3.0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57061491/

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