简体   繁体   English

Maven 依赖冲突:java.lang.NoClassDefFoundError: com/sun/jersey/api/NotFoundException

[英]Maven dependency conflict: java.lang.NoClassDefFoundError: com/sun/jersey/api/NotFoundException

I added to my application's pom the org.apache.hbase:HBase-client:1.2.5 dependency and my application stopped working.我向我的应用程序的 pom 添加了 org.apache.hbase:HBase-client:1.2.5 依赖项,我的应用程序停止工作。 It seems like a dependency conflict, but I can't figure it out, what is the exact problem.这似乎是一个依赖冲突,但我无法弄清楚,确切的问题是什么。

I get the following exception:我收到以下异常:

<Jun 4, 2019 6:48:32,171 AM CDT> <Notice> <StdErr> <BEA-000000> <Jun 04, 2019 6:48:32 AM org.glassfish.jersey.server.ServerRuntime$Responder mapException
SEVERE: An exception has been thrown from an exception mapper class org.apache.hadoop.yarn.webapp.GenericExceptionHandler.
java.lang.NoClassDefFoundError: com/sun/jersey/api/NotFoundException
        at org.apache.hadoop.yarn.webapp.GenericExceptionHandler.toResponse(GenericExceptionHandler.java:61)
        at org.apache.hadoop.yarn.webapp.GenericExceptionHandler.toResponse(GenericExceptionHandler.java:43)
        at org.glassfish.jersey.server.ServerRuntime$Responder.mapException(ServerRuntime.java:601)
        at org.glassfish.jersey.server.ServerRuntime$Responder.process(ServerRuntime.java:476)
        at org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:334)
        at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
        at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
        at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
        at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
        at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
        at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317)
        at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305)
        at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154)
        at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:473)
        at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:427)
        at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:388)
        at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:341)
        at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:228)
        at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:286)
        at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:260)
        at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:137)
        at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:350)
        at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:247)
        at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3702)
        at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3672)
        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:328)
        at weblogic.security.service.SecurityManager.runAsForUserCode(SecurityManager.java:197)
        at weblogic.servlet.provider.WlsSecurityProvider.runAsForUserCode(WlsSecurityProvider.java:203)
        at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:71)
        at weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2443)
        at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2291)
        at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2269)
        at weblogic.servlet.internal.ServletRequestImpl.runInternal(ServletRequestImpl.java:1705)
        at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1665)
        at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:272)
        at weblogic.invocation.ComponentInvocationContextManager._runAs(ComponentInvocationContextManager.java:352)
        at weblogic.invocation.ComponentInvocationContextManager.runAs(ComponentInvocationContextManager.java:337)
        at weblogic.work.LivePartitionUtility.doRunWorkUnderContext(LivePartitionUtility.java:57)
        at weblogic.work.PartitionUtility.runWorkUnderContext(PartitionUtility.java:41)
        at weblogic.work.SelfTuningWorkManagerImpl.runWorkUnderContext(SelfTuningWorkManagerImpl.java:652)
        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:420)
        at weblogic.work.ExecuteThread.run(ExecuteThread.java:360)>

<Jun 4, 2019 6:48:32,172 AM CDT> <Notice> <StdErr> <BEA-000000> <Jun 04, 2019 6:48:32 AM org.glassfish.jersey.server.ServerRuntime$Responder mapException
SEVERE: An exception was not mapped due to exception mapper failure. The HTTP 500 response will be returned.
javax.ws.rs.NotFoundException: HTTP 404 Not Found
        at org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:323)
        at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
        at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
        at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
        at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
        at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
        at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317)
        at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305)
        at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154)
        at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:473)
        at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:427)
        at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:388)
        at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:341)
        at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:228)
        at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:286)
        at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:260)
        at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:137)
        at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:350)
        at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:247)
        at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3702)
        at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3672)
        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:328)
        at weblogic.security.service.SecurityManager.runAsForUserCode(SecurityManager.java:197)
        at weblogic.servlet.provider.WlsSecurityProvider.runAsForUserCode(WlsSecurityProvider.java:203)
        at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:71)
        at weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2443)
        at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2291)
        at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2269)
        at weblogic.servlet.internal.ServletRequestImpl.runInternal(ServletRequestImpl.java:1705)
        at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1665)
        at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:272)
        at weblogic.invocation.ComponentInvocationContextManager._runAs(ComponentInvocationContextManager.java:352)
        at weblogic.invocation.ComponentInvocationContextManager.runAs(ComponentInvocationContextManager.java:337)
        at weblogic.work.LivePartitionUtility.doRunWorkUnderContext(LivePartitionUtility.java:57)
        at weblogic.work.PartitionUtility.runWorkUnderContext(PartitionUtility.java:41)
        at weblogic.work.SelfTuningWorkManagerImpl.runWorkUnderContext(SelfTuningWorkManagerImpl.java:652)
        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:420)
        at weblogic.work.ExecuteThread.run(ExecuteThread.java:360)>
<Jun 4, 2019 6:48:32,734 AM CDT> <Error> <org.glassfish.jersey.server.ServerRuntime$Responder> <BEA-000000> <An exception has been thrown from an exception mapper class org.apache.hadoop.yar
n.webapp.GenericExceptionHandler.
java.lang.NoClassDefFoundError: com/sun/jersey/api/NotFoundException
        at org.apache.hadoop.yarn.webapp.GenericExceptionHandler.toResponse(GenericExceptionHandler.java:61)
        at org.apache.hadoop.yarn.webapp.GenericExceptionHandler.toResponse(GenericExceptionHandler.java:43)
        at org.glassfish.jersey.server.ServerRuntime$Responder.mapException(ServerRuntime.java:601)
        at org.glassfish.jersey.server.ServerRuntime$Responder.process(ServerRuntime.java:476)
        at org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:334)
        Truncated. see log file for complete stacktrace


I have tried to use other versions of the hbase-client but without any success.我曾尝试使用其他版本的 hbase-client 但没有任何成功。

Dependencies in my pom.xml:我的 pom.xml 中的依赖项:

        <dependency>
            <groupId>org.quartz-scheduler</groupId>
            <artifactId>quartz</artifactId>
            <version>2.2.2</version>
        </dependency>

        <dependency>
            <groupId>org.quartz-scheduler</groupId>
            <artifactId>quartz-jobs</artifactId>
            <version>2.2.2</version>
        </dependency>

        <dependency>
            <groupId>org.apache.velocity</groupId>
            <artifactId>velocity</artifactId>
            <version>1.7</version>
        </dependency>

        <dependency>
            <groupId>org.apache.velocity</groupId>
            <artifactId>velocity-tools</artifactId>
            <version>2.0</version>
            <exclusions>
                <exclusion>
                    <artifactId>dom4j</artifactId>
                    <groupId>dom4j</groupId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>3.2.17.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context-support</artifactId>
            <version>3.2.17.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>3.2.17.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>3.2.17.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.14</version>
        </dependency>

        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.9</version>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.1</version>
        </dependency>

        <dependency>
            <groupId>org.apache.hbase</groupId>
            <artifactId>hbase-client</artifactId>
            <version>1.2.5</version>
        </dependency>

it might be that you use too old version of java for that jars requirement ?可能是因为您使用了太旧版本的 java 来满足 jars 要求? because i see you use really old version of spring ... and also there are 2 different versions of velocity related things, this might be also causing some mismatches .因为我看到您使用的是非常旧版本的 spring ......而且还有 2 个不同版本的速度相关的东西,这也可能导致一些不匹配。

It could probably be due to the version mismatch of Jersey.这可能是由于 Jersey 的版本不匹配。

HBase uses a particular Jersey version. HBase 使用特定的 Jersey 版本。 Your application or any other dependency might use another Jersey version.您的应用程序或任何其他依赖项可能使用另一个 Jersey 版本。 When Jersey jars are loaded, some dependent classes would be missing depending on the version that is loaded.加载 Jersey jar 时,根据加载的版本,某些依赖类将丢失。

So look into the packages that use Jersey and change it into common version.因此,查看使用 Jersey 的软件包并将其更改为通用版本。 This is also one of the reasons for java.lang.NoClassDefFoundError exception.这也是java.lang.NoClassDefFoundError异常的原因之一。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 java.lang.NoClassDefFoundError: com/sun/jersey/api/client/Client - java.lang.NoClassDefFoundError: com/sun/jersey/api/client/Client 在浏览器上运行小程序时,出现运行时错误:-“ java.lang.NoClassDefFoundError:com.sun.jersey.api.client.config.ClientConfig” - While running an applet on the browser gives a run time error :- “java.lang.NoClassDefFoundError: com.sun.jersey.api.client.config.ClientConfig” java.lang.NoClassDefFoundError:com / sun / jersey / spi / container / servlet / WebConfig - java.lang.NoClassDefFoundError: com/sun/jersey/spi/container/servlet/WebConfig java.lang.NoClassDefFoundError:无法初始化com.sun.jersey.core.header.MediaTypes类 - java.lang.NoClassDefFoundError: Could not initialize class com.sun.jersey.core.header.MediaTypes java.lang.NoClassDefFoundError: com/sun/jersey/spi/inject/Errors$Closure 原因? - java.lang.NoClassDefFoundError: com/sun/jersey/spi/inject/Errors$Closure cause? 具有Maven依赖项的java.lang.NoClassDefFoundError - java.lang.NoClassDefFoundError with Maven dependency Maven依赖版本控制和java.lang.NoClassDefFoundError - Maven dependency versioning and java.lang.NoClassDefFoundError java.lang.NoClassDefFoundError:com / sun / star / lang / XEventListener - java.lang.NoClassDefFoundError: com/sun/star/lang/XEventListener 使用Docusign Java Client时遇到java.lang.NoClassDefFoundError:类com.sun.jersey.core.header.MediaTypes - Running into java.lang.NoClassDefFoundError: class com.sun.jersey.core.header.MediaTypes while using the Docusign Java Client java.lang.NoClassDefFoundError:com / sun / istack / tools / DefaultAuthenticator $ Receiver - java.lang.NoClassDefFoundError: com/sun/istack/tools/DefaultAuthenticator$Receiver
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM