2016-05-11 7 views
1

У меня есть Grails приложений и при развертывании в Tomcat через опцию (ст 2.5.3.): WAR-файл для развертывания, выбирая войны файл появляется следующее сообщение об ошибке. Если я попробую приложение проще (размер, сложность и т. Д.), Он работает хорошо.Ошибка в Tomcat для развертывания приложения Grails

Однако, если я вручную скопирую содержимое военного файла на путь Tomcat: pathTomcat/webapps/myApplication, когда я запускаю приложение от менеджера, он работает хорошо. Появится всякая ошибка.

Ошибка:

11-May-2016 19:54:33.973 INFO [http-nio-8080-exec-15] org.apache.catalina.startup.HostConfig.deployWAR Despliegue del archivo /usr/local/apache-tomcat-8.0.30/webapps/MYAPP.war de la aplicación web 
11-May-2016 19:54:40.215 SEVERE [http-nio-8080-exec-15] org.apache.catalina.core.ContainerBase.addChildInternal ContainerBase.addChild: start: 
org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/MYAPP]] 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) 
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725) 
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701) 
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717) 
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:945) 
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:466) 
    at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1583) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:498) 
    at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:300) 
    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:1460) 
    at org.apache.catalina.manager.HTMLManagerServlet.upload(HTMLManagerServlet.java:288) 
    at org.apache.catalina.manager.HTMLManagerServlet.doPost(HTMLManagerServlet.java:209) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:648) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.apache.catalina.filters.CsrfPreventionFilter.doFilter(CsrfPreventionFilter.java:136) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) 
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:614) 
    at org.apache.catalina.valves.RequestFilterValve.process(RequestFilterValve.java:312) 
    at org.apache.catalina.valves.RemoteAddrValve.invoke(RemoteAddrValve.java:95) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) 
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:521) 
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1096) 
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:674) 
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500) 
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: java.lang.IllegalStateException: Unable to complete the scan for annotations for web application [/MYAPP] due to a StackOverflowError. Possible root causes include a too low setting for -Xss and illegal cyclic inheritance dependencies. The class hierarchy being processed was [org.bouncycastle.asn1.ASN1Boolean->org.bouncycastle.asn1.DERBoolean->org.bouncycastle.asn1.ASN1Boolean] 
    at org.apache.catalina.startup.ContextConfig.checkHandlesTypes(ContextConfig.java:2066) 
    at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:2012) 
    at org.apache.catalina.startup.ContextConfig.processAnnotationsJar(ContextConfig.java:1961) 
    at org.apache.catalina.startup.ContextConfig.processAnnotationsUrl(ContextConfig.java:1936) 
    at org.apache.catalina.startup.ContextConfig.processAnnotations(ContextConfig.java:1897) 
    at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1149) 
    at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:771) 
    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:305) 
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:95) 
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5154) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    ... 47 more 

Grails отчет о зависимости: папки

+--- org.grails:grails-docs:2.5.3 
    ... 
    \--- com.lowagie:itext:2.0.8 
     \--- bouncycastle:bcmail-jdk14:138 
     \--- bouncycastle:bcprov-jdk14:138 
.... 

+--- org.grails.plugins:tika-parser:1.9.0 
    \--- org.bouncycastle:bcmail-jdk15on:1.52 
    \--- org.bouncycastle:bcpkix-jdk15on:1.52 
    \--- org.bouncycastle:bcprov-jdk15on:1.52 
.... 

+--- org.grails.plugins:jasypt-encryption:1.3.1 
    \--- org.bouncycastle:bcprov-jdk16:1.46 

Lib:

enter image description here

решаемые с помощью следующей конфигурации в BuildConfig.groovy:

compile ("org.grails.plugins:jasypt-encryption:1.3.1") { 
      excludes "bcprov-jdk16" 
     } 

Спасибо.

ответ

1

Скорее всего, у вас есть 2 версии org.bouncycastle библиотеки

Вы можете запустить grails dependency-report проверить на ваших зависимостей и убедитесь, что сервер Либерал только с 1 банкой

Кажется, у вас есть плохой парень org.bouncycastle:bcprov-jdk16:1.46 так вам нужно удалить и проверить, какие плагины тянуть эту зависимость и убедитесь, чтобы исключить его из зависимости так в вашем BuildConfig.groovy вы будете иметь

от doc

By default, Grails will not only get the JARs and plugins that you declare, but it will also get their transitive dependencies. This is usually what you want, but there are occasions where you want a dependency without all its baggage. In such cases, you can disable transitive dependency resolution on a case-by-case basis:

A far more common scenario is where you want the transitive dependencies, but some of them cause issues with your own dependencies or are unnecessary. For example, many Apache projects have 'commons-logging' as a transitive dependency, but it shouldn't be included in a Grails project (we use SLF4J). That's where the excludes option comes in:

runtime('com.mysql:mysql-connector-java:5.1.16', 
     'net.sf.ehcache:ehcache:1.6.1') { 
    excludes "xml-apis", "commons-logging" 
} 
// Or 
runtime(group:'com.mysql', name:'mysql-connector-java', version:'5.1.16') { 
    excludes([ group: 'xml-apis', name: 'xml-apis'], 
      [ group: 'org.apache.httpcomponents' ], 
      [ name: 'commons-logging' ]) 

Вы хотите исключить bcprov-jdk16 из вашей зависимости

+0

Я добавил отчет. Спасибо за помощь. ** Редактировать **: ответ слишком большой, и я не могу его добавить. –

+0

проверить конкретные записи о 'org.bouncycastle' –

+0

Да, похоже. Я добавил. Кроме того, я нашел это: [Link1.] (Http://stackoverflow.com/questions/23927880/avoid-cyclic-reference-inheritance-in-grails) [Link2.] (Http://stackoverflow.com/questions/ 29955410/how-do-i-fix-stackoverflowerror-in-org-apache-catalina-startup-contextconfig-pop) –

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

  • Нет связанных вопросов^_^