2017-07-13 12 views
0

Webサービスアプリケーション(REST Producer)を作成していて、サーバーにデプロイするときに例外が表示されます。java.lang.NoSuchFieldError:REFLECTION Tomcat 7.0.78にデプロイしているとき

SEVERE: StandardWrapper.Throwable 
java.lang.NoSuchFieldError: REFLECTION 
    at com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.<init>(RuntimeModelBuilder.java:93) 
    at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:473) 
    at com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:319) 
    at com.sun.xml.bind.v2.runtime.JAXBContextImpl$JAXBContextBuilder.build(JAXBContextImpl.java:1170) 
    at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:145) 
    at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:236) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:606) 
    at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:172) 
    at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:132) 
    at javax.xml.bind.ContextFinder.find(ContextFinder.java:334) 
    at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:431) 
    at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:394) 
    at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:298) 
    at com.sun.jersey.server.impl.wadl.WadlApplicationContextImpl.<init>(WadlApplicationContextImpl.java:72) 
    at com.sun.jersey.server.impl.wadl.WadlFactory.init(WadlFactory.java:97) 
    at com.sun.jersey.server.impl.application.RootResourceUriRules.initWadl(RootResourceUriRules.java:169) 
    at com.sun.jersey.server.impl.application.RootResourceUriRules.<init>(RootResourceUriRules.java:106) 
    at com.sun.jersey.server.impl.application.WebApplicationImpl._initiate(WebApplicationImpl.java:1298) 
    at com.sun.jersey.server.impl.application.WebApplicationImpl.access$700(WebApplicationImpl.java:169) 
    at com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:775) 
    at com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:771) 
    at com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:193) 
    at com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:771) 
    at com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:766) 
    at com.sun.jersey.spi.container.servlet.ServletContainer.initiate(ServletContainer.java:488) 
    at com.sun.jersey.spi.container.servlet.ServletContainer$InternalWebComponent.initiate(ServletContainer.java:318) 
    at com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:609) 
    at com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:210) 
    at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:373) 
    at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:556) 
    at javax.servlet.GenericServlet.init(GenericServlet.java:158) 
    at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1269) 
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1182) 
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1072) 
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5368) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5660) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1571) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1561) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    at java.lang.Thread.run(Thread.java:745) 

Jul 13, 2017 11:14:28 AM org.apache.catalina.core.StandardContext loadOnStartup 
SEVERE: Servlet [jersey-servlet] in web application [/InventoryAPIProducer] threw load() exception 
java.lang.NoSuchFieldError: REFLECTION 
    at com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.<init>(RuntimeModelBuilder.java:93) 
    at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:473) 
    at com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:319) 
    at com.sun.xml.bind.v2.runtime.JAXBContextImpl$JAXBContextBuilder.build(JAXBContextImpl.java:1170) 
    at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:145) 
    at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:236) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:606) 
    at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:172) 
    at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:132) 
    at javax.xml.bind.ContextFinder.find(ContextFinder.java:334) 
    at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:431) 
    at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:394) 
    at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:298) 
    at com.sun.jersey.server.impl.wadl.WadlApplicationContextImpl.<init>(WadlApplicationContextImpl.java:72) 
    at com.sun.jersey.server.impl.wadl.WadlFactory.init(WadlFactory.java:97) 
    at com.sun.jersey.server.impl.application.RootResourceUriRules.initWadl(RootResourceUriRules.java:169) 
    at com.sun.jersey.server.impl.application.RootResourceUriRules.<init>(RootResourceUriRules.java:106) 
    at com.sun.jersey.server.impl.application.WebApplicationImpl._initiate(WebApplicationImpl.java:1298) 
    at com.sun.jersey.server.impl.application.WebApplicationImpl.access$700(WebApplicationImpl.java:169) 
    at com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:775) 
    at com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:771) 
    at com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:193) 
    at com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:771) 
    at com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:766) 
    at com.sun.jersey.spi.container.servlet.ServletContainer.initiate(ServletContainer.java:488) 
    at com.sun.jersey.spi.container.servlet.ServletContainer$InternalWebComponent.initiate(ServletContainer.java:318) 
    at com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:609) 
    at com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:210) 
    at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:373) 
    at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:556) 
    at javax.servlet.GenericServlet.init(GenericServlet.java:158) 
    at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1269) 
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1182) 
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1072) 
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5368) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5660) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1571) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1561) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    at java.lang.Thread.run(Thread.java:745) 

は、以下の私のpom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.mkyong.common</groupId> 
    <artifactId>InventoryAPIProducer</artifactId> 
    <packaging>war</packaging> 
    <version>1.0-SNAPSHOT</version> 
    <name>InventoryAPIProducer</name> 
    <url>http://maven.apache.org</url> 

    <properties> 
     <swagger-annotations-version>1.5.13</swagger-annotations-version> 
     <jodatime-version>2.9.9</jodatime-version> 
     <squareup-version>2.7.5</squareup-version> 
    </properties> 

    <dependencies> 
     <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>4.12</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>log4j</groupId> 
      <artifactId>log4j</artifactId> 
      <version>1.2.17</version> 
     </dependency> 
     <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api --> 
     <!-- add slf4j interfaces to classpath --> 
     <dependency> 
      <groupId>org.slf4j</groupId> 
      <artifactId>slf4j-api</artifactId> 
      <version>1.6.4</version> 
      <scope>compile</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.slf4j</groupId> 
      <artifactId>jcl-over-slf4j</artifactId> 
      <version>1.6.4</version> 
      <scope>compile</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.slf4j</groupId> 
      <artifactId>slf4j-log4j12</artifactId> 
      <version>1.6.4</version> 
      <scope>compile</scope> 
     </dependency> 
     <dependency> 
      <groupId>io.swagger</groupId> 
      <artifactId>swagger-annotations</artifactId> 
      <version>${swagger-annotations-version}</version> 
     </dependency> 
     <dependency> 
      <groupId>com.sun.jersey</groupId> 
      <artifactId>jersey-server</artifactId> 
      <version>1.8</version> 
     </dependency> 
     <dependency> 
      <groupId>com.sun.jersey</groupId> 
      <artifactId>jersey-json</artifactId> 
      <version>1.8</version> 
     </dependency> 
     <dependency> 
      <groupId>joda-time</groupId> 
      <artifactId>joda-time</artifactId> 
      <version>${jodatime-version}</version> 
     </dependency> 
     <dependency> 
      <groupId>com.squareup.okhttp</groupId> 
      <artifactId>okhttp</artifactId> 
      <version>${squareup-version}</version> 
     </dependency> 
     <dependency> 
      <groupId>com.squareup.okhttp</groupId> 
      <artifactId>logging-interceptor</artifactId> 
      <version>${squareup-version}</version> 
     </dependency>  
     <dependency> 
      <groupId>com.owlike</groupId> 
      <artifactId>genson</artifactId> 
      <version>1.4</version> 
     </dependency> 
    </dependencies> 

    <build> 
     <finalName>InventoryAPIProducer</finalName> 
     <plugins> 
      <plugin> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <configuration> 
        <source>1.6</source> 
        <target>1.6</target> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 
</project> 

私はこのフォーラムに同様の問題を呼ばなく、ソリューションのどれも私のために働いたんです。この問題は主にCXFフレームワークに関連しています(他の記事の提案として)が、私はそれを使用していません。

ライブラリとしてServer Runtimeを追加しようとしましたが、解決されませんでした。

誰でも解決方法を教えてください。

ありがとうございました。

答えて

0

同じエラーが発生し、com.sun.xml.bind:jaxb-impl 2.0.5があり、次にcxf-rt-frontend-jaxwsがcom.sun.xml.bind:jaxb-impl 2.2を提供していました。 11。そして、それらの間に矛盾があります。 vesion 2.0.5を削除した後、うまく動作します。

+0

ありがとうございました。しかし、私はpom.xmlにこれらのjarファイルを使用していません –

関連する問題