关于 java:Trouble with Jersey MIME Type \\”text/xml;charset=UTF-8 was not found\\”

Trouble with Jersey MIME Type "text/xml;charset=UTF-8 was not found"

为什么我在jar包中运行程序时会出现以下异常,但在netbeans中执行时却没有出现此异常?

com.sun.jersey.api.client.ClientHandlerException: A message body reader for Java class javax.xml.bind.JAXBElement, and Java type javax.xml.bind.JAXBElement, and MIME media type text/xml;charset=UTF-8 was not found

我正在使用 maven 和程序集插件构建我的程序。

mvn assembly:assembly

当我运行"运行文件"时,netbeans 有什么不同?


我在球衣邮件 (http://java.net/projects/jersey/lists) 列表上提出了同样的问题,并收到了一个有效的答案,这让我在这里回答了我的问题。但我不得不承认,我并没有完全理解问题的解决方案和原因。所以请随意留下一些评论或新的答案。

问题似乎是,程序集插件没有正确合并某些 META-INF 文件。据我了解,需要对描述进行重命名!?

不要使用maven的程序集插件,而是使用shade插件!

在此处阅读问题和解决方案:
http://jersey.576304.n2.nabble.com/issue-with-POST-when-packaging-into-jar-td5460103.html

并在此处查看 maven 的 shade 插件:
http://maven.apache.org/plugins/maven-shade-plugin/


不知何故找不到 JAXB 提供程序。可能是一些类路径问题:在 Netbeans 中,该类被添加到类路径中,而在 maven 中却没有。

我建议你比较实际的类路径。在 Maven 中,您可以通过运行 mvn dependency:build-classpath 查看实际的类路径。
不确定如何在 Netbeans 中执行此操作。