Проблема с Джерси MIME Тип "text / xml; charset = UTF-8 не найден" - PullRequest
2 голосов
/ 09 февраля 2011

Почему я получаю следующее исключение при запуске программы в пакете 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, когда яработает "Run File"?

Ответы [ 2 ]

2 голосов
/ 10 февраля 2011

Я задал тот же вопрос в списке рассылки Джерси (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

И посмотритеПлагин Shade для Maven здесь: http://maven.apache.org/plugins/maven-shade-plugin/

1 голос
/ 09 февраля 2011

Каким-то образом поставщик JAXB не найден. Вероятно, некоторая проблема с classpath: в Netbeans класс был добавлен в classpath, а в maven - нет.

Я предлагаю вам сравнить реальные классы. В Maven вы можете увидеть фактический путь к классу, запустив mvn dependency:build-classpath. Не уверен, как это сделать в Netbeans.

...