【发布时间】:2016-09-02 07:53:24
【问题描述】:
我使用Netbeans 8.1(Maven 项目)创建了一个Java EE 7 应用程序,其中包含一个EJB 项目和一个Web 项目。我在 EJB 项目中添加了一个 ApplicationConfig 扩展 javax.ws.rs.core.Application 并用 javax.ws.rs.GET 和 javax.ws.rs.Path 标记了自动生成的 NewSessionBean。
现在,当我右键单击 EJB 项目并运行它时,它会部署在 Glassfish 服务器上,但我无法访问 REST 资源。这是 JAX-RS 配置文件:
import javax.ws.rs.ApplicationPath;
import javax.ws.rs.core.Application;
@ApplicationPath("/api")
public class JaxrsAppConfig extends Application {
}
这是我的 JAX-RS 资源:
import javax.ejb.Stateless;
import javax.ejb.LocalBean;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
@Stateless
@LocalBean
@Path("/demo")
public class NewSessionBean {
@GET
@Produces(MediaType.APPLICATION_XML)
public Person businessMethod() {
return new Person(1, "Prakhar Mishra", 26);
}
}
我尝试使用这些 URL 访问它:
http://localhost:8080/DemoJavaEE7-ejb/api/demo
http://localhost:8080/DemoJavaEE7-web/api/demo
http://localhost:8080/api/demo
但是,获得常规的 404 页面。谁能告诉我这里可能是什么问题?
【问题讨论】:
标签: maven jakarta-ee netbeans ejb jax-rs