可执行jar中的RESTfull Jersey应用程序错误

Mar*_*lli 2 java jersey executable-jar maven-assembly-plugin

我用maven jersey-quickstart-grizzly archetype(来自http://download.java.net/maven/2)开始制作一个简单的REST Jersey应用程序.

如果我用maven命令运行它(mvn compile exec:java),它工作正常; 但如果我制作了一个可执行jar,它会返回以下错误:

11-nov-2011 10.58.33 com.sun.jersey.spi.container.ContainerResponse logException

GRAVE: Mapped exception to response: 500 (Internal Server Error)
javax.ws.rs.WebApplicationException: com.sun.jersey.api.MessageException: A mess
age body writer for Java class java.lang.String, and Java type class java.lang.S
tring, and MIME media type text/plain was not found
Run Code Online (Sandbox Code Playgroud)

我尝试用装配阴影插件制作jar,在任何一种情况下我都有同样的问题.

我已经google了很多,我发现很多人都有同样的问题,但仍然没有解决方案

Pav*_*cek 5

您没有正确合并META-INF/services/*文件.修复它,它会工作.

(当您合并两个或更多罐子时需要添加内容,而不是替换.实际问题是您的META-INF中没有"com.sun.jersey.core.impl.provider.entity.StringProvider"行/services/javax.ws.rs.ext.MessageBodyReader文件).