Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
eclipse和tomcat中的java.lang.NoClassDefFoundError但是WAR在独立的tomcat中工作_Eclipse_Tomcat_Maven_Deployment_Classnotfoundexception - Fatal编程技术网

eclipse和tomcat中的java.lang.NoClassDefFoundError但是WAR在独立的tomcat中工作

eclipse和tomcat中的java.lang.NoClassDefFoundError但是WAR在独立的tomcat中工作,eclipse,tomcat,maven,deployment,classnotfoundexception,Eclipse,Tomcat,Maven,Deployment,Classnotfoundexception,我正在尝试将maven生成的war文件部署到eclipse中的tomcat服务器中。。但是我在jar文件中得到java.lang.NoClassDefFoundError。我多次验证,jar在.war中,相应的类文件也在jar中可用。 我可以从eclipse中生成的位置复制war,并成功地部署到tomcat的webapps中(使用与eclipse中安装的服务器相同的服务器) 除了部署程序集(已列出jar)和Java构建路径(jar在Maven依赖项中可用)之外,我不确定还要签入什么配置。我使用的

我正在尝试将maven生成的war文件部署到eclipse中的tomcat服务器中。。但是我在jar文件中得到java.lang.NoClassDefFoundError。我多次验证,jar在.war中,相应的类文件也在jar中可用。 我可以从eclipse中生成的位置复制war,并成功地部署到tomcat的webapps中(使用与eclipse中安装的服务器相同的服务器)

除了部署程序集(已列出jar)和Java构建路径(jar在Maven依赖项中可用)之外,我不确定还要签入什么配置。我使用的是指向JDK 1.6的JRE-->替代JRE

完整的错误日志:

2012-05-24 16:43:09,379 [main] ERROR org.springframework.web.context.ContextLoader -       Context initialization failed
java.lang.NoClassDefFoundError: Lcom/att/cso/uss/client/ws/CciClientImpl;

at java.lang.Class.getDeclaredFields0(Native Method)
at java.lang.Class.privateGetDeclaredFields(Class.java:2291)
at java.lang.Class.getDeclaredFields(Class.java:1743)
at org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.findPersistenceMetadata(PersistenceAnnotationBeanPostProcessor.java:373)
at org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.postProcessMergedBeanDefinition(PersistenceAnnotationBeanPostProcessor.java:321)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyMergedBeanDefinitionPostProcessors(AbstractAutowireCapableBeanFactory.java:830)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:493)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:913)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464)
at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:385)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:284)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:111)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3972)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4467)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:722)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:593)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)

Caused by: java.lang.ClassNotFoundException: com.att.cso.uss.client.ws.CciClientImpl
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1484)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1329)
    ... 33 more

请注意。

使用服务器实例与在tomcat中部署WAR不同。tomcat“hot”的服务器视图集成部署了源文件夹。我建议您检查Java构建路径设置,因为在servers视图中将源项目“部署”到服务器时会使用这些设置。你是如何制造战争的?我想你是在用maven。。如果您正在使用maven(我个人不喜欢它),那么它应该为您管理依赖项。您可能需要在java中复制maven的设置,或者可能需要在eclipse中使用maven插件。[http://www.eclipse.org/m2e/]

关于eclipse设置的更多细节如何?您是否使用m2e和m2e wtp?Eclipse不使用在maven的
target
文件夹中创建的
war
文件来部署到tomcat。您如何在Eclipse中部署war?您是否在Servers视图中将maven源项目添加到tomcat服务器实例中?@Raghuram-我正在使用m2e wtp。因此,我可以在eclipse中寻找部署战的位置和方式。设置文件夹中的任何文件都需要验证吗?@Ravi-是。。在eclipse的服务器实例(视图)中,我正在使用maven和m2e/m2e wtp插件。在项目的构建路径中,我有Maven依赖项,它获得了所有jar(包括问题日志中出现问题的jar)。部署依赖于jar(cciclient)的项目(mainweb)。我应该在mainweb的构建路径中链接ccliClient项目的源吗?我不确定ccliClient是什么意思。但是,如果它是构建时依赖项或运行时依赖项,则应该将其添加到项目依赖项中。构建时间意味着编译时需要它。运行时意味着您需要it运行时(通常依赖关系是通过反射实现的)检查这个问题,如果JAR文件是作为系统范围依赖关系包含的-这可能是导致NoClassDefFoundError的原因