我正在使用Jersey(使用Jetty)和Maven来实现RESTful服务。我正在尝试使用JAXB发送JSONObject,我已经遵循了一些教程,例如:http://jersey.java.net/nonav/documentation/1.7/user-guide.html#d4e919和http://www.vogella.com/articles/REST/article.html
所以我只想要一个简单的bean作为JSON对象发送。我已经遵循了所有步骤,但我无法发送JSON对象(尽管我确实正确地接收了XML格式)。我获得以下异常: com.sun.jersey.api.MessageException:Java类de.vogella.jersey.jaxb.model.Todo的消息体编写器和Java类类de.vogella.jersey.jaxb。 model.Todo,找不到MIME媒体类型application / json
我尝试过各种不同的解决方案,但似乎没有任何效果。 我想知道是否必须缺少任何依赖项,或者我必须实现ContextResolver(尽管任何教程都使用它们来处理这些简单的对象)。
这些是我的依赖项:
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<!-- Jersey -->
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-server</artifactId>
<version>1.11</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-servlet</artifactId>
<version>1.11</version>
</dependency>
<!-- Json -->
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-json</artifactId>
<version>1.11</version>
</dependency>
<!-- Jetty -->
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty</artifactId>
<version>6.1.26</version>
</dependency>
</dependencies>
非常感谢
答案 0 :(得分:1)
我找到了遗漏的依赖:
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>eclipselink</artifactId>
<version>2.0.0</version>
<scope>compile</scope>
</dependency>
我还必须添加一个存储库以避免错过原型错误:
<repositories>
<repository>
<id>EclipseLink Repo</id>
<url>http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/rt/eclipselink/maven.repo</url>
</repository>
</repositories>