当前位置: 首页 > 知识库问答 >
问题:

如何使用命令行部署EJB3.0?

亢保赫
2023-03-14

我正在遵循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\standalon\deployments(复制到wildfly部署目录)

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

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

  • >java-d java.naming.factory.initial=org.jnp.interfaces.namingContextFactory-d java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfactory-d java.naming.provider.url=localhost client.SimpleSessionClient现在是所有好人的时候了

我得到以下错误作为输出

错误:找不到或加载主类java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory

我知道本教程适合较老版本的Java和JBoss。但是,我修改了旧的引用,以指向上面提到的较新的环境。所以我假设版本控制不是这里的问题?顺便说一句,我刚刚开始学习EJB。任何洞察力都会很棒。

我的环境

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

共有1个答案

杨景山
2023-03-14

您应该查看参考文档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());

 类似资料:
  • 我可以在Wildfly快速入门中提供的Eclipse中运行这些教程中的大部分: https://github.com/wildfly/quickstart/

  • kubectl 默认从 ~/.kube/config 配置文件获取访问 kube-apiserver 地址、证书、用户名等信息,如果没有配置该文件,执行命令时出错: $ kubectl get pods The connection to the server localhost:8080 was refused - did you specify the right host or port?

  • 我正试图部署詹金斯战争文件。我执行了以下命令 下面是日志文件。 PS C:\站点 谁能告诉我javajarjenkins的命令是什么。战争

  • 使用 now.sh 部署,推荐的 package.json 配置如下: { "name": "my-app", "dependencies": { "nuxt": "latest" }, "scripts": { "dev": "nuxt", "build": "nuxt build", "start": "nuxt start" } } 运行

  • 我想使用wslt命令从命令行将war/ears文件部署到weblogic服务器。任何人都可以帮助解决这个问题。我需要命令来解决这个问题。

  • 但是,第一个表达式会导致编译错误: