2011-09-28 178 views
0

对不起,我对这个堆栈溢出的东西很陌生,所以请原谅底部的长错误信息。使用Eclipse Tomcat的ClassNotFound W/Spring Maven M2Eclipse

我正在尝试使用eclipse将名为BroadLeaf的项目部署到Tomcat 7服务器。我已经安装了M2Eclipse/WTP集成。我以clean package为目标运行maven配置(通过eclipse)。然后我进行刷新并尝试启动服务器,但是,它失败。

UPDATE:我想部署在这里找到项目... https://broadleaf.svn.sourceforge.net/svnroot/broadleaf/trunk/BroadleafCommerce/site/BroadleafCommerceDemo/pom.xml

任何想法?

抛出java.lang.ClassNotFoundException:org.springframework.web.util.Log4jConfigListener 在org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1664) 在org.apache.catalina.loader .WebappClassLoader.loadClass(WebappClassLoader.java:1509) 在org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:406) 在org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:388 ) at org.apache.catalina.core.StandardContext.listenerSt org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:117) (org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:138) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:990) at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:772) at org.apache.catalina.util.LifecycleBase。 start(LifecycleBase.java:138) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:990) at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:275) at org.apache.catalina.core.StandardServic org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:138) e.startInternal(StandardService.java:424) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:138) at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:648) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:138) at org.apache.catalina.startup.Catalina.start(Catalina.java:576) at sun.reflect.NativeMethodAccessorImpl.invoke0(本地方法) 在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 在java.lang.reflect.Method.invoke(Method.java :597) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:415) 2011年9月27日8:41:12 org.apache.catalina.core.StandardContext listenerStart SEVERE:配置类的应用程序侦听器时出错org.broadleafcommerce.profile.web.extensibility.MergeContextLoaderListener 抛出java.lang.ClassNotFoundException:org.broadleafcommerce.profile.web.extensibility.MergeContextLoaderListener 在org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1664) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1509) at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:406) at org.apache.catalina.core.DefaultInstanceManager .loadClassMaybePrivileged(DefaultInst anceManager。的java:388) 在org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:117) 在org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4268) 在org.apache。 catalina.core.StandardContext.startInternal(StandardContext.java:4771) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:138) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase。的java:990) 在org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:772) 在org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:138) 在org.apache。 catalina.core.ContainerBase.startInternal(ContainerBase.java:990) at org.apache.catalina.core.Standard Engine.startInternal(StandardEngine.java:275) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:138) at org.apache.catalina.core.StandardService.startInternal(StandardService.java:424) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:138) at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:648) at org.apache.catalina.util。 LifecycleBase.start(LifecycleBase.java:138) 在org.apache.catalina.startup.Catalina.start(Catalina.java:576) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法) 在sun.reflect.NativeMethodAccessorImpl .invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Delega tingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288) at org.apache。 catalina.startup.Bootstrap.main(Bootstrap.java:415) 2011年9月27日8:41:12 org.apache.catalina.core.StandardContext listenerStart SEVERE:配置类org.springframework.security的应用程序侦听器时出错。 web.session.HttpSessionEventPublisher 抛出java.lang.ClassNotFoundException:org.springframework.security.web.session.HttpSessionEventPublisher 在org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1664) 在org.apache.catalina .loader.WebappClassLoader.loadClass(WebappClassLoader.java:1509) at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:406) at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:388) at org.apache.catalina.core.DefaultInstanceManager。 newInstance(DefaultInstanceManager.java:117) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4268) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4771) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:138) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:990) at org.apache.catalina.core.StandardHost。 startInternal(StandardHost.java:772) at org.apache.catalina.util.Life cycleBase.start(LifecycleBase.java:138) 在org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:990) 在org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:275) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:138) at org.apache.catalina.core.StandardService.startInternal(StandardService.java:424) at org.apache.catalina.util。 LifecycleBase.start(LifecycleBase.java:138) 在org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:648) 在org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:138) at org.apache.catalina.startup.Catalina.start(Catalina.java:576) at sun.reflect.NativeMethodAccessorImpl。invoke0(本机方法) 在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 在java.lang.reflect.Method.invoke(方法.java:597) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:415) 2011年9月27日8:41:12 PM org.apache.catalina.core.StandardContext listenerStart SEVERE:由于前面的错误跳过安装应用程序监听器 2011年9月27日8:41:12 org.apache.catalina.core.StandardContext startInternal SEVERE:错误listenerStart 2011年9月27日8:41:12 PM org .apache.catalina.core.StandardContext startInternal 重度:上下文[/阔叶]启动失败由于先前的错误
+0

您可以检查org.springframework.web.util.Log4jConfigListener是否存在于任何jar中。这在XML文件中被指定 - 所以即使这个类缺失,你也不会收到编译器错误。 – gkamal

+0

好问题,依赖被Maven抓住并添加到./target/ /WEB-INF/lib文件夹中。这意味着一旦它被创建,它们都位于那里。我相信WTP的m2Eclipse扩展应该处理指向这个文件夹,但是,它不是工作或我缺少一个设置的地方。 – Jackie

+0

想让大家知道,因为这篇博文已转移到GitHub。在项目网站http://www.broadleafcommerce.org上可以找到Docs入门指南。 – polster

回答

1

这个问题似乎与WTP没有正确集成Maven依赖关系。不是最好的解决方案,我用固定....

  1. Eclipse中的问题用鼠标右键单击该项目,并转到属性
  2. 转到展开组件
  3. 点击添加
  4. 选择Java Build Path项
  5. 选择所有M2_HOME条目。
  6. 清洁构建和部署项目不要使用带ECLIPSE的M2ECLIPSE插件:ECLIPSE!
  7. 应该绕过错误。

任何人都知道真正的解决方案?

更新:另外,下次我导入WTP似乎与Maven的氛围,所以也许删除并重新导入您的项目后安装插件?

0

综观阔叶source repository的POM文件,它看起来像他们没有搭建web应用(war神器)。这是m2eclipse/wtp集成正常工作所必需的。

如果不是这种情况,请编辑指定您试图在tomcat中部署的特定broadleaf子项目的问题。

+0

你知道我甚至没有检查,我想我只是假设他们已经配置好了。所以我会做一些谷歌搜索,但这将是maven-war-plugin是否正确? – Jackie

+0

既然你听起来像你在Broadleaf的经验,我是否认为我需要部署演示网站?我知道我可以通过ant jetty-demo(或者其他一些)工作,但我试图部署到tomcat服务器,并且我假设我可以使用由mvn clean package命令创建的war。我应该使用启动项目吗? – Jackie

+0

刚刚检查过,它确实构建了战争......我最初发送的pom是根pom,项目的可用于此... https://broadleaf.svn.sourceforge.net/svnroot/broadleaf/trunk /BroadleafCommerce/site/BroadleafCommerceDemo/pom.xml – Jackie