【问题标题】:Trouble with Jersey MIME Type "text/xml;charset=UTF-8 was not found"Jersey MIME 类型“未找到文本/xml;charset=UTF-8”的问题
【发布时间】:2011-02-09 14:09:33
【问题描述】:

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

com.sun.jersey.api.client.ClientHandlerException:Java 类 javax.xml.bind.JAXBElement、Java 类型 javax.xml.bind.JAXBElement 和 MIME 媒体类型 text/ 的消息体阅读器xml;charset=UTF-8 未找到

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

mvn 组装:组装

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

【问题讨论】:

    标签: java rest netbeans maven jersey


    【解决方案1】:

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

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

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

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 谢谢,很高兴知道这一点。我收到了球衣邮件列表上的回复,但不完全理解。欢迎发表评论。
      猜你喜欢
      • 1970-01-01
      • 2016-12-19
      • 2017-03-17
      • 2016-06-14
      • 2019-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多