Java 如何将restful服务与ejb集成?
将jersey与ejb集成后,我无法访问rest服务 在一个ear包中,我部署了两个war和一个jar包。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
一个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…您好,Stevewildfly 18.0.1。最终的
已经修复,根本原因是在build.gradle文件中导入包的方式错误。没有其他错误。很高兴看到你的工作。现在,您可以大大简化它,将所有源代码移动到web模块中,只需部署生成的WAR文件。EAR文件基本上是大多数应用程序的遗留技术。