我是否需要将Glass Jars包含在Glassfish 4.0服务器上的EAR中?

时间:2013-07-11 17:45:42

标签: java annotations jersey jax-rs glassfish-4

我正在尝试使用Firefox海报来测试在Glassfish 4.0上运行的Jersey restful webservice。当我将java类作为xml返回时,我收到一个HTTP Server 500错误返回到Poster输出。当我将String作为xml返回时,我没有收到错误。这让我想知道我是否需要在Glassfish中包含任何JAX-RS罐子或泽西罐子。我以为这些都包含在Glassfish模块中,因此我没有将它们包含在我的WEB-INF库中。

这是一个有效的例子,将xml返回给firefox海报:

 @GET
@Produces( { MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON, "application/x-javascript", MediaType.APPLICATION_OCTET_STREAM } )
@Path( "/getTest/" )
public String getXml()
{
    return "<?xml version=\"1.0\"?>" + "<hello> Hello Jersey" + "</hello>";

}

以下是抛出内部服务器错误500的示例:

 @GET
@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
@Path( "/getTodo/" )
public Todo getXML() {
  Todo todo = new Todo();
  todo.setSummary("This is my first todo");
  todo.setDescription("This is my first todo");
  return todo;
}

 @XmlRootElement
 // JAX-RS supports an automatic mapping from JAXB annotated class to XML and JSON    
 // Isn't that cool?
 public class Todo {
   private String summary;
   private String description;
   public String getSummary() {
     return summary;
   }
   public void setSummary(String summary) {
     this.summary = summary;
   }
   public String getDescription() {
     return description;
    }
   public void setDescription(String description) {
     this.description = description;
   }
}

仅供参考 - 我正在松散地关注这里的博客 - restBlog

1 个答案:

答案 0 :(得分:0)

您绝对不需要在war或ear文件中包含任何标准球衣文件,以便在运行时可以访问它们。无论是使用maven还是原生的netbeans 7.3.1项目,我当然都有你做得很好的事情。

我建议你查看glassfish server.log文件,看看你得到的具体错误是什么。如果你遗失了所需的罐子,那应该告诉你。