小编ash*_*ash的帖子

在tomcat7上运行战争与grails run-app

我在tomcat7上运行grails生成war文件时遇到问题.如果/当我使用grails run-app运行相同的应用程序时,一切都很好并且处于正常的工作状态.运行tomcat7和部署war时遇到的异常:

2014-08-20 09:17:28,933 [http-bio-127.0.0.1-8080-exec-7] ERROR errors.GrailsExceptionResolver  - ClassNotFoundException occurred when processing request: [GET] /
jline.console.history.History. Stacktrace follows:
java.lang.ClassNotFoundException: jline.console.history.History
    at org.codehaus.plugin.swagger.builder.SwaggerDocsBuilder.buildApiDeclarations(SwaggerDocsBuilder.groovy:71)
    at org.codehaus.plugin.swagger.builder.SwaggerDocsBuilder.rebuild(SwaggerDocsBuilder.groovy:48)
    at org.codehaus.plugin.swagger.builder.SwaggerDocsBuilder.build(SwaggerDocsBuilder.groovy:36)
    at org.codehaus.grails.plugins.swaggerapidocs.SwaggerApiDocsController.resources(SwaggerApiDocsController.groovy:21)
    at grails.plugin.cache.web.filter.PageFragmentCachingFilter.doFilter(PageFragmentCachingFilter.java:198)
    at grails.plugin.cache.web.filter.AbstractFilter.doFilter(AbstractFilter.java:63)
    at com.brandseye.cors.CorsFilter.doFilter(CorsFilter.java:82)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
Run Code Online (Sandbox Code Playgroud)

第71行 SwaggerDocsBuilder.groovy

rules = new BuildPathMap().build(grailsApp)
Run Code Online (Sandbox Code Playgroud)

BuildPathMap扩展

import org.codehaus.groovy.grails.web.mapping.reporting.AnsiConsoleUrlMappingsRenderer
class BuildPathMap extends AnsiConsoleUrlMappingsRenderer {
Run Code Online (Sandbox Code Playgroud)

我的猜测在AnsiConsoleUrlMappingsRenderer某种程度上取决于jline.console.history.History但是为什么它会从war文件中丢失?在战争生成期间是否可以做一些事情来确保ll依赖关系被正确打包?

grails war run-app

5
推荐指数
1
解决办法
770
查看次数

标签 统计

grails ×1

run-app ×1

war ×1