NoClassDefFoundError:javax / inject / Provider和ClassNotFoundException:javax.inject.Provider

我收到了这些错误:

lis 26, 2016 8:51:16 PM org.apache.tomcat.util.digester.SetPropertiesRule begin WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:erpe-server' did not find a matching property. lis 26, 2016 8:51:16 PM org.apache.catalina.startup.VersionLoggerListener log INFO: Server version: Apache Tomcat/8.0.36 lis 26, 2016 8:51:16 PM org.apache.catalina.startup.VersionLoggerListener log INFO: Server built: Jun 9 2016 13:55:50 UTC lis 26, 2016 8:51:16 PM org.apache.catalina.startup.VersionLoggerListener log INFO: Server number: 8.0.36.0 lis 26, 2016 8:51:16 PM org.apache.catalina.startup.VersionLoggerListener log INFO: OS Name: Linux lis 26, 2016 8:51:16 PM org.apache.catalina.startup.VersionLoggerListener log INFO: OS Version: 4.4.0-34-generic lis 26, 2016 8:51:16 PM org.apache.catalina.startup.VersionLoggerListener log INFO: Architecture: amd64 lis 26, 2016 8:51:16 PM org.apache.catalina.startup.VersionLoggerListener log INFO: Java Home: /usr/lib/jvm/java-8-oracle/jre lis 26, 2016 8:51:16 PM org.apache.catalina.startup.VersionLoggerListener log INFO: JVM Version: 1.8.0_101-b13 lis 26, 2016 8:51:16 PM org.apache.catalina.startup.VersionLoggerListener log INFO: JVM Vendor: Oracle Corporation lis 26, 2016 8:51:16 PM org.apache.catalina.startup.VersionLoggerListener log INFO: CATALINA_BASE: /home/korbeldaniel/Documents/workspace-sts-3.8.1.RELEASE/.metadata/.plugins/org.eclipse.wst.server.core/tmp1 lis 26, 2016 8:51:16 PM org.apache.catalina.startup.VersionLoggerListener log INFO: CATALINA_HOME: /home/korbeldaniel/Documents/apache-tomcat-8.0.36 lis 26, 2016 8:51:16 PM org.apache.catalina.startup.VersionLoggerListener log INFO: Command line argument: -agentlib:jdwp=transport=dt_socket,suspend=y,address=localhost:34576 lis 26, 2016 8:51:16 PM org.apache.catalina.startup.VersionLoggerListener log INFO: Command line argument: -Dcatalina.base=/home/korbeldaniel/Documents/workspace-sts-3.8.1.RELEASE/.metadata/.plugins/org.eclipse.wst.server.core/tmp1 lis 26, 2016 8:51:16 PM org.apache.catalina.startup.VersionLoggerListener log INFO: Command line argument: -Dcatalina.home=/home/korbeldaniel/Documents/apache-tomcat-8.0.36 lis 26, 2016 8:51:16 PM org.apache.catalina.startup.VersionLoggerListener log INFO: Command line argument: -Dwtp.deploy=/home/korbeldaniel/Documents/workspace-sts-3.8.1.RELEASE/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps lis 26, 2016 8:51:16 PM org.apache.catalina.startup.VersionLoggerListener log INFO: Command line argument: -Djava.endorsed.dirs=/home/korbeldaniel/Documents/apache-tomcat-8.0.36/endorsed lis 26, 2016 8:51:16 PM org.apache.catalina.startup.VersionLoggerListener log INFO: Command line argument: -Dfile.encoding=UTF-8 lis 26, 2016 8:51:16 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib lis 26, 2016 8:51:16 PM org.apache.coyote.AbstractProtocol init INFO: Initializing ProtocolHandler ["http-nio-8080"] lis 26, 2016 8:51:16 PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector INFO: Using a shared selector for servlet write/read lis 26, 2016 8:51:16 PM org.apache.coyote.AbstractProtocol init INFO: Initializing ProtocolHandler ["ajp-nio-8009"] lis 26, 2016 8:51:16 PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector INFO: Using a shared selector for servlet write/read lis 26, 2016 8:51:16 PM org.apache.catalina.startup.Catalina load INFO: Initialization processed in 680 ms lis 26, 2016 8:51:16 PM org.apache.catalina.core.StandardService startInternal INFO: Starting service Catalina lis 26, 2016 8:51:16 PM org.apache.catalina.core.StandardEngine startInternal INFO: Starting Servlet Engine: Apache Tomcat/8.0.36 lis 26, 2016 8:51:19 PM org.apache.jasper.servlet.TldScanner scanJars INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time. lis 26, 2016 8:51:19 PM org.apache.catalina.core.ApplicationContext log INFO: No Spring WebApplicationInitializer types detected on classpath SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details. lis 26, 2016 8:51:20 PM org.apache.catalina.core.ApplicationContext log SEVERE: StandardWrapper.Throwable java.lang.NoClassDefFoundError: javax/inject/Provider at com.google.inject.internal.MoreTypes.canonicalizeForKey(MoreTypes.java:81) at com.google.inject.Key.(Key.java:119) at com.google.inject.Key.get(Key.java:212) at com.google.inject.spi.Elements$RecordingBinder.bind(Elements.java:262) at com.google.inject.internal.InjectorShell$RootModule.configure(InjectorShell.java:276) at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:223) at com.google.inject.spi.Elements.getElements(Elements.java:101) at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:133) at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:103) at com.google.inject.Guice.createInjector(Guice.java:95) at com.google.inject.Guice.createInjector(Guice.java:72) at com.google.inject.Guice.createInjector(Guice.java:62) at org.jboss.errai.bus.server.service.ErraiServiceFactory.create(ErraiServiceFactory.java:30) at org.jboss.errai.bus.server.service.ErraiServiceSingleton.initSingleton(ErraiServiceSingleton.java:39) at org.jboss.errai.bus.server.servlet.ServletBootstrapUtil.initService(ServletBootstrapUtil.java:111) at org.jboss.errai.bus.server.servlet.ServletBootstrapUtil.getService(ServletBootstrapUtil.java:61) at org.jboss.errai.bus.server.servlet.AbstractErraiServlet.init(AbstractErraiServlet.java:86) at org.jboss.errai.bus.server.servlet.DefaultBlockingServlet.init(DefaultBlockingServlet.java:91) at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1238) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1151) at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1038) at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5027) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5337) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1407) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1397) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.ClassNotFoundException: javax.inject.Provider at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1332) at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1166) ... 30 more lis 26, 2016 8:51:20 PM org.apache.catalina.core.StandardContext loadOnStartup SEVERE: Servlet [ErraiServlet] in web application [/erpe-server] threw load() exception java.lang.ClassNotFoundException: javax.inject.Provider at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1332) at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1166) at com.google.inject.internal.MoreTypes.canonicalizeForKey(MoreTypes.java:81) at com.google.inject.Key.(Key.java:119) at com.google.inject.Key.get(Key.java:212) at com.google.inject.spi.Elements$RecordingBinder.bind(Elements.java:262) at com.google.inject.internal.InjectorShell$RootModule.configure(InjectorShell.java:276) at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:223) at com.google.inject.spi.Elements.getElements(Elements.java:101) at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:133) at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:103) at com.google.inject.Guice.createInjector(Guice.java:95) at com.google.inject.Guice.createInjector(Guice.java:72) at com.google.inject.Guice.createInjector(Guice.java:62) at org.jboss.errai.bus.server.service.ErraiServiceFactory.create(ErraiServiceFactory.java:30) at org.jboss.errai.bus.server.service.ErraiServiceSingleton.initSingleton(ErraiServiceSingleton.java:39) at org.jboss.errai.bus.server.servlet.ServletBootstrapUtil.initService(ServletBootstrapUtil.java:111) at org.jboss.errai.bus.server.servlet.ServletBootstrapUtil.getService(ServletBootstrapUtil.java:61) at org.jboss.errai.bus.server.servlet.AbstractErraiServlet.init(AbstractErraiServlet.java:86) at org.jboss.errai.bus.server.servlet.DefaultBlockingServlet.init(DefaultBlockingServlet.java:91) at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1238) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1151) at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1038) at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5027) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5337) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1407) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1397) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) lis 26, 2016 8:51:20 PM org.apache.coyote.AbstractProtocol start INFO: Starting ProtocolHandler ["http-nio-8080"] lis 26, 2016 8:51:20 PM org.apache.coyote.AbstractProtocol start INFO: Starting ProtocolHandler ["ajp-nio-8009"] lis 26, 2016 8:51:20 PM org.apache.catalina.startup.Catalina start INFO: Server startup in 3374 ms 

我无法弄清楚这一点。 我有multimodule maven项目,这个问题与在tomcat容器上运行的服务器代码有关。

请帮忙。

这是我的pom:

   4.0.0  pl.korbeldaniel.erpe erpe 0.0.1-SNAPSHOT  erpe-server war  ${mavenVersion}   4.0.0.Beta4 4.2.1.RELEASE 4.0.3.RELEASE 1.9.1.RELEASE    ${project.groupId} erpe-shared ${project.version}   com.google.gwt gwt-servlet    org.springframework spring-core ${spring.version}   org.springframework spring-web ${spring.version}   org.springframework spring-webmvc ${spring.version}   org.springframework.data spring-data-jpa ${spring-data.version}   org.springframework.security spring-security-core ${spring-security.version}   org.springframework.security spring-security-config ${spring-security.version}   org.springframework.security spring-security-web ${spring-security.version}    javax.servlet javax.servlet-api provided   javax.inject javax.inject provided    org.jboss.errai errai-bus ${errai.version}       org.eclipse.jetty jetty-maven-plugin  false 1  ${basedir}/../erpe-shared/target/classes/     org.apache.tomcat.maven tomcat6-maven-plugin  false / UTF-8    org.apache.tomcat.maven tomcat7-maven-plugin  false / UTF-8         env-prod  true    ${project.groupId} erpe-client ${project.version} war runtime     env-dev   env dev       org.eclipse.jetty jetty-maven-plugin    src/main/webapp,${basedir}/../target/gwt/launcherDir/     gwt.codeserver.port 9876      org.apache.tomcat.maven tomcat6-maven-plugin  ${basedir}/src/main/tomcatconf/context.xml  9876     org.apache.tomcat.maven tomcat7-maven-plugin  ${basedir}/src/main/tomcatconf/context.xml  9876          

添加这些依赖项修复了问题:

  javax.servlet javax.servlet-api ${javax.servlet.version} provided   com.google.inject guice 3.0   javax.inject javax.inject ${javax.inject.version}  
Interesting Posts