2011-09-28 176 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