Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/rest/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将restful服务与ejb集成?_Java_Rest_Jersey_Ejb - Fatal编程技术网

Java 如何将restful服务与ejb集成?

Java 如何将restful服务与ejb集成?,java,rest,jersey,ejb,Java,Rest,Jersey,Ejb,将jersey与ejb集成后,我无法访问rest服务 在一个ear包中,我部署了两个war和一个jar包。 一个war包,我可以通过访问它的服务,它将输出“helloworld,EJB” 另一个战争包,我无法通过 这是jar代码。 @无状态 公共类SimpleStatelessEjb{ 公共字符串hello(){ 返回“helloworld,EJB”; } } web-1.0-快照代码 @WebServlet({”/“,“/ejbServlet”}) 公共类EjbServlet扩展了HttpS

将jersey与ejb集成后,我无法访问rest服务

在一个ear包中,我部署了两个war和一个jar包。
一个war包,我可以通过访问它的服务,它将输出“
helloworld,EJB

另一个战争包,我无法通过

这是jar代码。

@无状态
公共类SimpleStatelessEjb{
公共字符串hello(){
返回“helloworld,EJB”;
}
}
web-1.0-快照代码

@WebServlet({”/“,“/ejbServlet”})
公共类EjbServlet扩展了HttpServlet{
私有静态最终长serialVersionUID=1L;
@EJB
simplestatelessebean;
@凌驾
受保护的void doGet(HttpServletRequest-req、HttpServletResponse-resp)引发IOException{
PrintWriter writer=resp.getWriter();
字符串msg=statelessBean.hello();
writer.println(msg);
}
}
app-1.0-快照代码

@ApplicationPath(“服务”)
公共类重新启动应用程序扩展了ResourceConfig{
公共重新应用程序(){
//软件包(“individual.cc.app.servlet”);
寄存器(HelloController.class);
}
}
@无国籍
@路径(“/hello/”)
公共类Hello控制器{
@EJB
simplestatelessebean;
@得到
@产生(MediaType.APPLICATION_JSON)
公共字符串hello(){
返回无状态bean.hello();
}
}
我希望得到,它将输出
helloworld,EJB
,然而,它总是抛出
找不到


有人能帮我一下吗?

非常感谢。

以上代码是正确的。只是因为我使用了
compileOnly
导入包。正确的方法是使用
实现
您使用的是哪种服务器(和版本)?您可能根本不需要Jersey…您好,Steve
wildfly 18.0.1。最终的
已经修复,根本原因是在build.gradle文件中导入包的方式错误。没有其他错误。很高兴看到你的工作。现在,您可以大大简化它,将所有源代码移动到web模块中,只需部署生成的WAR文件。EAR文件基本上是大多数应用程序的遗留技术。