我想将我的项目打包在一个可执行的JAR中进行分发.
如何将所有依赖JAR的Maven项目打包到我的输出JAR中?
@XmlRootElement
public class Todo {
private String s = "test";
public String getS() {
return s;
}
public void setS(String s) {
this.s = s;
}
}
Run Code Online (Sandbox Code Playgroud)
和服务:
@Path("/test")
public class Service {
@GET
@Produces({MediaType.APPLICATION_JSON })
public List<Todo> getAllGadgets() {
return Arrays.asList(new Todo[] { new Todo() });
}
}
Run Code Online (Sandbox Code Playgroud)
我的web.xml:
<servlet>
<servlet-name>Jersey REST Service</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>com.test</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Jersey REST Service</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)
如果我将MediaType.APPLICATION_XML设置为生成注释,则所有这些都有效.但对于JSON,我得到以下异常:
严重:映射异常响应:500(内部服务器错误)javax.ws.rs.WebApplicationException:com.sun.jersey.api.MessageException:Java类java.util.Arrays $ ArrayList和Java类型java的消息体编写器找不到.util.List和MIME媒体类型application/json
我使用Jersey 1.6,根据教程,JSON格式应该可以在没有任何额外编程的情况下使用JAXB.怎么了?