我有一个包含 JAX-RS 资源类的 java web 项目,如下所示:
@Stateless
@Path("user")
public class UserResource {
@EJB
BooksResource booksResource;
...
@GET
public String get() {
return "User Resource";
}
@Path("books")
public BooksResource getBooksResource() {
System.out.println("booksResource is " + booksResource);
return booksResource;
}
...
}
@Stateless
public class BooksResource {
@GET
public String get() {
return "Books Resource";
}
}
当我运行 WAR 项目时,Evething 工作正常。
但是当我把它放在一个 EAR 项目中时,我只能访问/user。/user/books返回 404并且控制台打印“booksResource 为空”。
在EAR项目中运行时似乎没有注入EJB,但为什么它在WAR项目中工作?
我正在使用 Eclipse(靛蓝 JavaEE)和 Glassfish3.1.2。