में विभाजित डिस्पेंसेंसी मैं जेट्टी डब्ल्यू/जर्सी को एम्बेड करने वाला एक सर्वर लिख रहा हूं। जब मैं ग्रहण से निष्पादित करता हूं, तो सबकुछ बढ़िया होता है। हालांकि, अगर मैं अपने सर्वर और Maven विधानसभा का उपयोग कर एक भी जार में सभी निर्भरता को इकट्ठा:जर्सी अपवाद केवल तभी फेंक दिया गया जब एक एकल जार
Sep 26, 2012 5:35:59 PM com.sun.jersey.spi.container.ContainerResponse write
SEVERE: A message body writer for Java class com.acme.server.webservice.
exception.WebServiceFailure, and Java type class com.acme.server.webserv
ice.exception.WebServiceFailure, and MIME media type application/json was not fo
und
Sep 26, 2012 5:35:59 PM com.sun.jersey.spi.container.ContainerResponse write
SEVERE: The registered message body writers compatible with the MIME media type
are:
*/* ->
com.sun.jersey.server.impl.template.ViewableMessageBodyWriter
17:35:59.372 [qtp184245201-22 - /] ERROR o.a.h.ReflectorServletProcessor - onReq
uest()
javax.ws.rs.WebApplicationException: com.sun.jersey.api.MessageException: A mess
age body writer for Java class com.acme.server.webservice.exception.WebS
erviceFailure, and Java type class com.acme.server.webservice.exception.
WebServiceFailure, and MIME media type application/json was not found
at com.sun.jersey.spi.container.ContainerResponse.write(ContainerRespons
e.java:285) ~[vma-server-0.0.1-SNAPSHOT-jar-with-dependencies.jar:na]
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequ
est(WebApplicationImpl.java:1457) ~[server-0.0.1-SNAPSHOT-jar-with-dependenc
ies.jar:na]
...
पूरा पता लगाने, यहाँ है अगर उपयोग करें: एक लक्ष्य, मैं एक अपवाद प्राप्त करें: https://gist.github.com/3790817
मैवेन जार-निर्भरता बनाने के दौरान कोई त्रुटि नहीं फेंकता है।
मैं Maven और जावा की तैनाती के साथ एक नौसिखिया हूँ, और मैं वास्तव में यकीन है कि डिबगिंग के साथ आगे बढ़ना करने के लिए कैसे नहीं हूँ।
इसके अलावा, मुझे इस मुद्दे को हल करने की आवश्यकता है, लेकिन मैं किसी भी सुझाए गए कार्य-आस-पास की भी सराहना करता हूं क्योंकि मुझे अपने सर्वर के निष्पादन योग्य डेमो का उत्पादन करने की आवश्यकता है क्योंकि एक प्वाइंट-बालों वाले बॉस (टीएम) ग्रहण के बिना निष्पादित कर सकते हैं।
समाधान:
पावेल के जवाब के आधार पर, मैं Maven-छाया-प्लगइन के पक्ष में Maven-assemly-प्लगइन गिरा दिया। यहां छाया कॉन्फ़िगरेशन है जो मेरे लिए काम करता है:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.0</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<!-- use transformer to handle merge of META-INF/services - see http://java.net/jira/browse/JERSEY-440?focusedCommentId=14822&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#action_14822 -->
<transformer
implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
</transformers>
<filters>
<!-- filter to address "Invalid signature file" issue - see http://stackoverflow.com/a/6743609/589215-->
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
</excludes>
</filter>
</filters>
</configuration>
</execution>
</executions>
</plugin>
क्या आपकी पोम फ़ाइल में परिभाषित (जर्सी से संबंधित) निर्भरता पोस्ट करना संभव है? मेरे पास एक ही समस्या है, लेकिन मैं पहले से ही मैवेन-शेड-प्लगइन का उपयोग कर रहा हूं। 'जर्सी-बंडल' पर स्विच करने से मेरी समस्या हल हो गई, लेकिन यह मेरे पोम में केवल आवश्यक निर्भरताओं को परिभाषित करने से बचाना चाहती है। – Athafoud
यह समाधान मेरे लिए काम किया। मैं बिल्कुल एक ही मुद्दा था। धन्यवाद!!!! – jmsimpson68