2013-09-26 3 views
0

Я новичок в Java и struts2. Я написал тестовое приложение, которое будет захватывать информацию от пользователя (3 поля), сохраните информацию в mysql, а затем отобразите информацию в таблице, если сохранение будет успешным (по крайней мере, я думаю, что это то, что я написал.Ошибка при запуске struts2 через tomcat (ошибки включают «java.util.concurrent.ThreadPoolExecutor.runWorker ...»

Я чувствую себя довольно потерянным - у меня есть попытался найти решение моей проблемы, но я не уверен, каким образом выглядеть первым ... любая помощь была бы полезной!

Я использую: Netbeans 7.3.1, tomcat 7, jdk 1.7, mysql, struts2 ...

Вот ошибки я получаю после запуска в NetBeans ...

PackageName (run): 

compile-jsps: 
Starting Tomcat process... 
Waiting for Tomcat... 
Tomcat server started. 
In-place deployment at .../packageName/build/web 
deploy?config=file%3A%2Fvar%2Ffolders%2Fjz%2Fbtt5nc_x5l3g29r_g7c8f3yc0000gn%2FT%2Fcontext1380170394207520336.xml&path=/Jive_OSInfo_NB 
FAIL - Deployed application at context path /packageName but context failed to start 
...packageName/nbproject/build-impl.xml:1039: The module has not been deployed. 
See the server log for details. 
BUILD FAILED (total time: 11 seconds) 



Apache Tomcat Log: 

Sep 26, 2013 10:38:31 PM org.apache.catalina.core.ApplicationContext log 
INFO: ContextListener: contextInitialized() 
Sep 26, 2013 10:38:31 PM org.apache.catalina.core.ApplicationContext log 
INFO: SessionListener: contextInitialized() 
Sep 26, 2013 10:38:31 PM org.apache.catalina.core.ApplicationContext log 
INFO: ContextListener: attributeAdded('org.apache.jasper.compiler.TldLocationsCache', '[email protected]') 
Sep 26, 2013 10:38:34 PM org.apache.catalina.core.StandardContext filterStart 
SEVERE: Exception starting filter struts2 
Unable to load configuration. - bean - jar:file: .../build/web/WEB-INF/lib/struts2-core-2.3.4.jar!/struts-default.xml:29:72 
    at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:450) 
    at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:193) 
    at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:281) 
    at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:262) 
    at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:107) 
    at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4775) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5452) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901) 
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) 
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633) 
    at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:656) 
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:535) 
    at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1461) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:606) 
    at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:301) 
    at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) 
    at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) 
    at org.apache.catalina.manager.ManagerServlet.check(ManagerServlet.java:1445) 
    at org.apache.catalina.manager.ManagerServlet.deploy(ManagerServlet.java:860) 
    at org.apache.catalina.manager.ManagerServlet.doGet(ManagerServlet.java:357) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:621) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
    at org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) 
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:611) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) 
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) 
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023) 
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) 
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    at java.lang.Thread.run(Thread.java:724) 
Caused by: Unable to load configuration. - bean - jar:file: .../build/web/WEB-INF/lib/struts2-core-2.3.4.jar!/struts-default.xml:29:72 
    at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:58) 
    at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:390) 
    at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:437) 
    ... 44 more 
Caused by: Unable to load bean: type: class:com.opensymphony.xwork2.ObjectFactory - bean - jar:file: .../build/web/WEB-INF/lib/struts2-core-2.3.4.jar!/struts-default.xml:29:72 
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:239) 
    at org.apache.struts2.config.StrutsXmlConfigurationProvider.register(StrutsXmlConfigurationProvider.java:102) 
    at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:156) 
    at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:55) 
    ... 46 more 
Caused by: Bean type class com.opensymphony.xwork2.ObjectFactory with the name xwork has already been loaded by bean - jar:file: ~/tomcat/lib/struts2-core-2.3.15.1.jar!/struts-default.xml:29:72 - bean - jar:file: .../build/web/WEB-INF/lib/struts2-core-2.3.4.jar!/struts-default.xml:29:72 
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:223) 
    ... 49 more 
+1

Вы забыли свой код –

+0

yep sorry - случайно попал и все это (без кода) сохранено ... – ea0723

+0

Maven - ваш доктор проекта. –

ответ

1

Похоже, у вас есть две версии одного и того же банку на пути к классам:

  • struts2-core-2.3.15.1
  • struts2-core-2.3.4

сообщение об ошибке говорит о том, что оба этих банках содержат com.opensymphony.xwork2.ObjectFactory.

Для решения проблемы вам придется удалить одну из этих версий (возможно, 2.3.4) из пути к классам. Как это сделать, зависит от того, как вы используете webapp и контейнер. Если это стандартное развертывание Tomcat 7, ваша дублирующаяся банка может появиться в вашей войне (в разделе WEB-INF/lib), а также в каталоге Tomcat/lib, если вы ее разместите.

+0

Не могут ли обе банки содержать «ObjectFactory»? И что вы подразумеваете под * стандартным * развертыванием? –

+0

Стандартное развертывание Tomcat, я имею в виду загрузить Tomcat, разархивировать его и запустить (vs запускает его из Eclipse или NetBeans или встроен). Поскольку не было никаких подробностей относительно того, как ea0723 запускает Tomcat, я предположил, что можно привести пример того, как можно решить проблему. И могут ли обе банки содержать ObjectFactory? Конечно, они оба физически могут (и делать) ... но тогда вы получите эту ошибку. Struts гарантирует, что в пути к классам может быть только один. –

+0

Вы имеете в виду, что Eclipse или Netbeans запускают сервер Tomcat? Кроме того, не могли бы вы рассказать о том, как Struts делает это, если таковые имеются? –

1

Найдено две стойки баночки в папке назначения местонахождения lib.

Причина: Одна банка была открыта из локальной папки WEB-INF/lib, а другая скопирована из jom. Удалите банку из локальной папки. так что pom.xml будет автоматически загружаться.

Это решение поможет.

Смежные вопросы