IntelliJ IDEA构建不完整的Grails战争

时间:2013-11-18 16:43:22

标签: java maven tomcat grails intellij-idea

我正在使用IntelliJ开始grails开发,但是根据this answer

中描述的过程,无法制作和部署新创建的grails应用程序到本地或外部Tomcat

Tomcat中的管理器应用程序显示应用程序已启动并正在运行,但在打开索引页面时,我总是得到 http 404 。我注意到下载 index.gsp文件是可能的 - 它似乎没有正确初始化grails:

enter image description here

这些是我试过的版本:

  • IntelliJ IDEA 12.1.6 Ultimate
  • Grails 2.1.1,2.2.4和2.3.2
  • Tomcat 7.0.47和6。

这些是我多次采取的详细步骤,即使在不同的计算机上,也总是有相同的结果:

  • 在IntelliJ中创建一个新的grails应用程序并启动默认运行配置(grails) - 到目前为止工作正常。

  • 设置部署到本地Tomcat服务器。我已经在IntelliJ中配置了应用程序服务器,使用GrailsWeb构面创建了一个工件(Web应用程序:存档或Web应用程序:爆炸),并将其分配给它进行部署。

  • 启动本地应用程序服务器,IntelliJ将报告工件已成功部署

  • 打开浏览器将显示404

为什么?我做错了什么?

它必须是关于IntelliJ中的grails插件的东西,因为我能够从github中提取一个示例Java应用程序(spring-petclinic)并且只是在Tomcat中运行它而没有麻烦......

更新

我注意到我可以手动部署使用“Make Grails Web archive”在目标下生成的战争。但是当我对同时出现的工件的战争做同样的事情时......它将无法工作。

显然后者没有正确生成:在META-INF下缺少MANIFEST.MF,WEB-INF下也没有grails.xml和grails-app!

directory comparison

请你看看方面:有什么问题吗?

IntelliJ project structure

我尝试了很多工件配置,例如这一个:

Artifact configuration

使用上述设置生成的目录结构:

将此与grails生成的war文件相比较,显示出许多不同之处,例如: index.gsp位于根目录中,而不是WEB-INF/grails-app下。而WEB-INF

下也没有grails.xml
C:\prj\gtest5\out\artifacts\gtest5_war_exploded>tree /f
Auflistung der Ordnerpfade
Volumeseriennummer : 2842-D2F0
C:.
│   error.gsp
│   index.gsp
│
├───css
│       errors.css
│       main.css
│       mobile.css
│
├───dbdoc
│       _globalnav.gsp
│       _index.gsp
│       _overview-summary.gsp
│       _stylesheet.gsp
│
├───images
│   │   apple-touch-icon-retina.png
│   │   apple-touch-icon.png
│   │   favicon.ico
│   │   grails_logo.jpg
│   │   grails_logo.png
│   │   leftnav_btm.png
│   │   leftnav_midstretch.png
│   │   leftnav_top.png
│   │   spinner.gif
│   │   springsource.png
│   │
│   └───skin
│           database_add.png
│           database_delete.png
│           database_edit.png
│           database_save.png
│           database_table.png
│           exclamation.png
│           house.png
│           information.png
│           shadow.jpg
│           sorted_asc.gif
│           sorted_desc.gif
│
├───js
│   │   application.js
│   │
│   └───jquery
│           jquery-1.8.0.js
│           jquery-1.8.0.min.js
│
├───layouts
│       main.gsp
│
└───WEB-INF
    │   applicationContext.xml
    │   sitemesh.xml
    │
    ├───classes
    │   │   JQueryResourceTagLib$_closure1.class
    │   │   JQueryResourceTagLib$_closure2.class
    │   │   JQueryResourceTagLib$_closure2_closure4.class
    │   │   JQueryResourceTagLib$_closure2_closure5.class
    │   │   JQueryResourceTagLib$_closure2_closure6.class
    │   │   JQueryResourceTagLib$_closure2_closure7.class
    │   │   JQueryResourceTagLib$_closure3.class
    │   │   JQueryResourceTagLib.class
    │   │   JQueryService$_closure1.class
    │   │   JQueryService$_closure2.class
    │   │   JQueryService$_closure3.class
    │   │   JQueryService$_closure4.class
    │   │   JQueryService.class
    │   │   JQueryTagLib$_closure1.class
    │   │   JQueryTagLib$_closure1_closure6.class
    │   │   JQueryTagLib$_closure2.class
    │   │   JQueryTagLib$_closure3.class
    │   │   JQueryTagLib$_closure4.class
    │   │   JQueryTagLib$_closure5.class
    │   │   JQueryTagLib.class
    │   │   messages.properties
    │   │   messages_cs_CZ.properties
    │   │   messages_da.properties
    │   │   messages_de.properties
    │   │   messages_es.properties
    │   │   messages_fr.properties
    │   │   messages_it.properties
    │   │   messages_ja.properties
    │   │   messages_nl.properties
    │   │   messages_pl.properties
    │   │   messages_pt_BR.properties
    │   │   messages_pt_PT.properties
    │   │   messages_ru.properties
    │   │   messages_sv.properties
    │   │   messages_th.properties
    │   │   messages_zh_CN.properties
    │   │
    │   ├───grails
    │   │   └───plugin
    │   │       ├───cache
    │   │       │   │   BlockingCache.class
    │   │       │   │   Cacheable.class
    │   │       │   │   CacheBeanPostProcessor.class
    │   │       │   │   CacheConfigArtefactHandler$CacheConfigGrailsClass.class
    │   │       │   │   CacheConfigArtefactHandler$DefaultCacheConfigGrailsClass.class
    │   │       │   │   CacheConfigArtefactHandler.class
    │   │       │   │   CacheConfiguration.class
    │   │       │   │   CacheEvict.class
    │   │       │   │   CachePut.class
    │   │       │   │   CacheTagLib$_closure1.class
    │   │       │   │   CacheTagLib$_closure2.class
    │   │       │   │   CacheTagLib.class
    │   │       │   │   ConfigBuilder.class
    │   │       │   │   ConfigLoader$_sortConfigs_closure1.class
    │   │       │   │   ConfigLoader.class
    │   │       │   │   GrailsAnnotationCacheOperationSource$DefaultCacheKey.class
    │   │       │   │   GrailsAnnotationCacheOperationSource.class
    │   │       │   │   GrailsCache.class
    │   │       │   │   GrailsCacheAdminService.class
    │   │       │   │   GrailsCacheManager.class
    │   │       │   │   GrailsConcurrentMapCache.class
    │   │       │   │   GrailsConcurrentMapCacheManager.class
    │   │       │   │   GrailsValueWrapper.class
    │   │       │   │   SerializableByteArrayOutputStream.class
    │   │       │   │   SerializableOutputStream.class
    │   │       │   │   Timer.class
    │   │       │   │
    │   │       │   ├───compiler
    │   │       │   │       CacheTransformation.class
    │   │       │   │
    │   │       │   ├───util
    │   │       │   │       ClassUtils.class
    │   │       │   │
    │   │       │   └───web
    │   │       │       │   AlreadyGzippedException.class
    │   │       │       │   ContentCacheParameters.class
    │   │       │       │   GenericResponseWrapper$1.class
    │   │       │       │   GenericResponseWrapper.class
    │   │       │       │   Header$Type.class
    │   │       │       │   Header.class
    │   │       │       │   HttpDateFormatter.class
    │   │       │       │   PageInfo.class
    │   │       │       │   ProxyAwareMixedGrailsControllerHelper.class
    │   │       │       │   SerializableCookie.class
    │   │       │       │
    │   │       │       └───filter
    │   │       │           │   AbstractFilter.class
    │   │       │           │   CacheExpressionRootObject.class
    │   │       │           │   CacheOperationContext.class
    │   │       │           │   DefaultWebKeyGenerator.class
    │   │       │           │   ExpressionEvaluator.class
    │   │       │           │   FilterServletOutputStream.class
    │   │       │           │   LazyParamAwareEvaluationContext.class
    │   │       │           │   NoOpFilter.class
    │   │       │           │   PageFragmentCachingFilter$1.class
    │   │       │           │   PageFragmentCachingFilter$2.class
    │   │       │           │   PageFragmentCachingFilter$CacheStatus.class
    │   │       │           │   PageFragmentCachingFilter.class
    │   │       │           │   WebKeyGenerator.class
    │   │       │           │
    │   │       │           └───simple
    │   │       │                   MemoryBlockingCache.class
    │   │       │                   MemoryCacheConfiguration.class
    │   │       │                   MemoryPageFragmentCachingFilter.class
    │   │       │
    │   │       ├───databasemigration
    │   │       │   │   ChangelogXml2Groovy$_appendAttrs_closure1.class
    │   │       │   │   ChangelogXml2Groovy$_appendWithIndent_closure2.class
    │   │       │   │   ChangelogXml2Groovy.class
    │   │       │   │   DbdocController$_closure1.class
    │   │       │   │   DbdocController.class
    │   │       │   │   DslBuilder$1.class
    │   │       │   │   DslBuilder$_expandExpressions_closure1.class
    │   │       │   │   DslBuilder$_extractZipFile_closure3.class
    │   │       │   │   DslBuilder$_handleIncludedChangeLog_closure7.class
    │   │       │   │   DslBuilder$_processIncludeAll_closure2.class
    │   │       │   │   DslBuilder$_processProperty_closure5.class
    │   │       │   │   DslBuilder$_processRollback_closure4.class
    │   │       │   │   DslBuilder$_setPropertiesFromAttributes_closure6.class
    │   │       │   │   DslBuilder.class
    │   │       │   │   GormDatabase.class
    │   │       │   │   GormDatabaseSnapshotGenerator$_createIdentifierGenerator_closure4.class
    │   │       │   │   GormDatabaseSnapshotGenerator$_createSnapshot_closure1.class
    │   │       │   │   GormDatabaseSnapshotGenerator$_createSnapshot_closure2.class
    │   │       │   │   GormDatabaseSnapshotGenerator$_isIdentityColumn_closure3.class
    │   │       │   │   GormDatabaseSnapshotGenerator.class
    │   │       │   │   GormDatabaseTypeConverter.class
    │   │       │   │   GrailsChange$1.class
    │   │       │   │   GrailsChange.class
    │   │       │   │   GrailsChangeLogParser$_setChangelogProperties_closure1.class
    │   │       │   │   GrailsChangeLogParser.class
    │   │       │   │   GrailsClassLoaderResourceAccessor.class
    │   │       │   │   GrailsDiffStatusListener.class
    │   │       │   │   GrailsPrecondition$1.class
    │   │       │   │   GrailsPrecondition.class
    │   │       │   │   GroovyAwareStringChangeLogSerializer.class
    │   │       │   │   Log4jLogger.class
    │   │       │   │   MigrationRunner$_autoRun_closure1.class
    │   │       │   │   MigrationRunner.class
    │   │       │   │   MigrationUtils$_getDatabase_closure1.class
    │   │       │   │   MigrationUtils.class
    │   │       │   │   MysqlAwareCreateTableGenerator.class
    │   │       │   │   ScriptUtils$_appendToChangelog_closure2.class
    │   │       │   │   ScriptUtils$_appendToChangelog_closure2_closure3.class
    │   │       │   │   ScriptUtils$_appendToChangelog_closure2_closure4.class
    │   │       │   │   ScriptUtils$_executeAndWrite_closure1.class
    │   │       │   │   ScriptUtils.class
    │   │       │   │
    │   │       │   └───dbdoc
    │   │       │           AuthorListWriter.class
    │   │       │           AuthorWriter.class
    │   │       │           ChangeLogListWriter.class
    │   │       │           ChangeLogWriter.class
    │   │       │           ColumnWriter.class
    │   │       │           HTMLListWriter.class
    │   │       │           HTMLWriter.class
    │   │       │           MemoryDocVisitor.class
    │   │       │           PendingChangesWriter.class
    │   │       │           PendingSQLWriter.class
    │   │       │           RecentChangesWriter.class
    │   │       │           TableListWriter.class
    │   │       │           TableWriter$_writeCustomHTML_closure1.class
    │   │       │           TableWriter.class
    │   │       │
    │   │       └───webxml
    │   │               FilterManager.class
    │   │
    │   └───org
    │       ├───codehaus
    │       │   └───groovy
    │       │       └───grails
    │       │           └───plugins
    │       │               └───jquery
    │       │                       JQueryConfig$_init_closure1.class
    │       │                       JQueryConfig$_init_closure2.class
    │       │                       JQueryConfig.class
    │       │                       JQueryProvider$_doRemoteFunction_closure1.class
    │       │                       JQueryProvider$_doRemoteFunction_closure2.class
    │       │                       JQueryProvider$_doRemoteFunction_closure3.class
    │       │                       JQueryProvider$_doRemoteFunction_closure4.class
    │       │                       JQueryProvider.class
    │       │
    │       └───grails
    │           └───plugin
    │               ├───resource
    │               │   │   AggregatedResourceMeta$_buildAggregateResource_closure3.class
    │               │   │   AggregatedResourceMeta$_buildAggregateResource_closure3_closure4.class
    │               │   │   AggregatedResourceMeta$_containsResource_closure1.class
    │               │   │   AggregatedResourceMeta$_isDirty_closure2.class
    │               │   │   AggregatedResourceMeta.class
    │               │   │   CSSBundleResourceMeta.class
    │               │   │   CSSLinkProcessor$_process_closure1.class
    │               │   │   CSSLinkProcessor.class
    │               │   │   DevModeSanityFilter.class
    │               │   │   JavaScriptBundleResourceMeta.class
    │               │   │   ProcessingFilter.class
    │               │   │   ResourceMeta$_reset_closure1.class
    │               │   │   ResourceMeta.class
    │               │   │   ResourceModule$_closure1.class
    │               │   │   ResourceModule$_getRequiredDispositions_closure3.class
    │               │   │   ResourceModule$_newResourceFromArgs_closure2.class
    │               │   │   ResourceModule.class
    │               │   │   ResourceProcessor$_afterPropertiesSet_closure5.class
    │               │   │   ResourceProcessor$_afterPropertiesSet_closure6.class
    │               │   │   ResourceProcessor$_canProcessLegacyResource_closure7.class
    │               │   │   ResourceProcessor$_canProcessLegacyResource_closure8.class
    │               │   │   ResourceProcessor$_defineModuleFromBuilder_closure16.class
    │               │   │   ResourceProcessor$_dumpResources_closure21.class
    │               │   │   ResourceProcessor$_dumpResources_closure21_closure35.class
    │               │   │   ResourceProcessor$_dumpResources_closure21_closure36.class
    │               │   │   ResourceProcessor$_dumpResources_closure22.class
    │               │   │   ResourceProcessor$_dumpStats_closure20.class
    │               │   │   ResourceProcessor$_dumpStats_closure20_closure34.class
    │               │   │   ResourceProcessor$_findSyntheticResourceById_closure9.class
    │               │   │   ResourceProcessor$_getConfigParamOrDefault_closure23.class
    │               │   │   ResourceProcessor$_getResourceMetaForURI_closure10.class
    │               │   │   ResourceProcessor$_getResourceMetaForURI_closure10_closure27.class
    │               │   │   ResourceProcessor$_getServletContext_closure24.class
    │               │   │   ResourceProcessor$_loadModules_closure17.class
    │               │   │   ResourceProcessor$_loadModules_closure18.class
    │               │   │   ResourceProcessor$_loadModules_closure18_closure30.class
    │               │   │   ResourceProcessor$_loadModules_closure18_closure31.class
    │               │   │   ResourceProcessor$_loadModules_closure18_closure31_closure32.class
    │               │   │   ResourceProcessor$_loadModules_closure18_closure31_closure33.class
    │               │   │   ResourceProcessor$_loadModules_closure19.class
    │               │   │   ResourceProcessor$_makeFileSystemPathFromURI_closure11.class
    │               │   │   ResourceProcessor$_prepareResourceBatch_closure13.class
    │               │   │   ResourceProcessor$_prepareResourceBatch_closure14.class
    │               │   │   ResourceProcessor$_prepareResourceBatch_closure14_closure28.class
    │               │   │   ResourceProcessor$_prepareResourceBatch_closure14_closure29.class
    │               │   │   ResourceProcessor$_prepareResourceBatch_closure15.class
    │               │   │   ResourceProcessor$_prepareSingleDeclaredResource_closure12.class
    │               │   │   ResourceProcessor$_updateDependencyOrder_closure1.class
    │               │   │   ResourceProcessor$_updateDependencyOrder_closure2.class
    │               │   │   ResourceProcessor$_updateDependencyOrder_closure3.class
    │               │   │   ResourceProcessor$_updateDependencyOrder_closure3_closure25.class
    │               │   │   ResourceProcessor$_updateDependencyOrder_closure4.class
    │               │   │   ResourceProcessor$_updateDependencyOrder_closure4_closure26.class
    │               │   │   ResourceProcessor.class
    │               │   │   ResourceProcessorBatch.class
    │               │   │   ResourceTagLib$_closure1.class
    │               │   │   ResourceTagLib$_closure10.class
    │               │   │   ResourceTagLib$_closure10_closure17.class
    │               │   │   ResourceTagLib$_closure1_closure15.class
    │               │   │   ResourceTagLib$_closure2.class
    │               │   │   ResourceTagLib$_closure3.class
    │               │   │   ResourceTagLib$_closure4.class
    │               │   │   ResourceTagLib$_closure5.class
    │               │   │   ResourceTagLib$_closure5_closure16.class
    │               │   │   ResourceTagLib$_closure6.class
    │               │   │   ResourceTagLib$_closure7.class
    │               │   │   ResourceTagLib$_closure8.class
    │               │   │   ResourceTagLib$_closure9.class
    │               │   │   ResourceTagLib$_resolveResourceAndURI_closure12.class
    │               │   │   ResourceTagLib$_writeAttrs_closure11.class
    │               │   │   ResourceTagLib$__clinit__closure13.class
    │               │   │   ResourceTagLib$__clinit__closure14.class
    │               │   │   ResourceTagLib.class
    │               │   │   URLUtils.class
    │               │   │
    │               │   ├───mapper
    │               │   │       MapperPhase.class
    │               │   │       ResourceMapper$_closure1.class
    │               │   │       ResourceMapper$_getDefaultExcludes_closure8.class
    │               │   │       ResourceMapper$_getDefaultIncludes_closure9.class
    │               │   │       ResourceMapper$_getExcludes_closure10.class
    │               │   │       ResourceMapper$_getExcludingPattern_closure2.class
    │               │   │       ResourceMapper$_getIncludes_closure11.class
    │               │   │       ResourceMapper$_getIncludingPattern_closure3.class
    │               │   │       ResourceMapper$_getName_closure7.class
    │               │   │       ResourceMapper$_getOperation_closure5.class
    │               │   │       ResourceMapper$_getPhase_closure4.class
    │               │   │       ResourceMapper$_getPriority_closure6.class
    │               │   │       ResourceMapper.class
    │               │   │       ResourceMappersFactory$_createResourceMappers_closure1.class
    │               │   │       ResourceMappersFactory$_createResourceMappers_closure2.class
    │               │   │       ResourceMappersFactory$_createResourceMappers_closure2_closure7.class
    │               │   │       ResourceMappersFactory$_createResourceMappers_closure3.class
    │               │   │       ResourceMappersFactory$_createResourceMappers_closure4.class
    │               │   │       ResourceMappersFactory$_createResourceMappers_closure5.class
    │               │   │       ResourceMappersFactory$_createResourceMappers_closure6.class
    │               │   │       ResourceMappersFactory.class
    │               │   │
    │               │   ├───module
    │               │   │       ModuleBuilder.class
    │               │   │       ModuleDeclarationsFactory$_getModuleDeclarations_closure1.class
    │               │   │       ModuleDeclarationsFactory$_getModuleDeclarations_closure2.class
    │               │   │       ModuleDeclarationsFactory$_getModuleDeclarations_closure3.class
    │               │   │       ModuleDeclarationsFactory.class
    │               │   │       ModulesBuilder$_invokeMethod_closure1.class
    │               │   │       ModulesBuilder.class
    │               │   │
    │               │   └───util
    │               │           HalfBakedLegacyLinkGenerator.class
    │               │           ResourceMetaStore$_addResource_closure1.class
    │               │           ResourceMetaStore.class
    │               │
    │               └───resources
    │                   └───artefacts
    │                           AbstractResourcesArtefactHandler.class
    │                           DefaultResourceMapperClass.class
    │                           DefaultResourcesClass.class
    │                           ResourceMapperArtefactHandler.class
    │                           ResourceMapperClass.class
    │                           ResourcesArtefactHandler.class
    │                           ResourcesClass.class
    │
    ├───lib
    │       ant-1.8.2.jar
    │       ant-junit-1.8.2.jar
    │       ant-launcher-1.8.2.jar
    │       ant-trax-1.7.1.jar
    │       antlr-2.7.7.jar
    │       aopalliance-1.0.jar
    │       asm-3.1.jar
    │       aspectjrt-1.6.10.jar
    │       aspectjweaver-1.6.10.jar
    │       bcmail-jdk14-138.jar
    │       bcpg-jdk15-1.45.jar
    │       bcprov-jdk15-1.45.jar
    │       cglib-2.2.jar
    │       commons-beanutils-1.8.3.jar
    │       commons-cli-1.2.jar
    │       commons-codec-1.5.jar
    │       commons-collections-3.2.1.jar
    │       commons-dbcp-1.4.jar
    │       commons-el-1.0.jar
    │       commons-fileupload-1.2.2.jar
    │       commons-io-2.1.jar
    │       commons-lang-2.6.jar
    │       commons-pool-1.5.6.jar
    │       commons-validator-1.3.1.jar
    │       concurrentlinkedhashmap-lru-1.2_jdk5.jar
    │       core-renderer-R8.jar
    │       dom4j-1.6.1.jar
    │       ecj-3.7.2.jar
    │       ehcache-core-2.4.6.jar
    │       gant_groovy1.8-1.9.6.jar
    │       grails-2.1.1.jar
    │       grails-bootstrap-2.1.1.jar
    │       grails-core-2.1.1.jar
    │       grails-crud-2.1.1.jar
    │       grails-datastore-core-1.1.0.RELEASE.jar
    │       grails-datastore-gorm-1.1.0.RELEASE.jar
    │       grails-datastore-simple-1.1.0.RELEASE.jar
    │       grails-docs-2.1.1.jar
    │       grails-gdoc-engine-1.0.1.jar
    │       grails-hibernate-2.1.1.jar
    │       grails-logging-2.1.1.jar
    │       grails-plugin-async-2.1.1.jar
    │       grails-plugin-codecs-2.1.1.jar
    │       grails-plugin-controllers-2.1.1.jar
    │       grails-plugin-converters-2.1.1.jar
    │       grails-plugin-datasource-2.1.1.jar
    │       grails-plugin-domain-class-2.1.1.jar
    │       grails-plugin-filters-2.1.1.jar
    │       grails-plugin-gsp-2.1.1.jar
    │       grails-plugin-i18n-2.1.1.jar
    │       grails-plugin-log4j-2.1.1.jar
    │       grails-plugin-mimetypes-2.1.1.jar
    │       grails-plugin-scaffolding-2.1.1.jar
    │       grails-plugin-services-2.1.1.jar
    │       grails-plugin-servlets-2.1.1.jar
    │       grails-plugin-testing-2.1.1.jar
    │       grails-plugin-tomcat-2.1.1.jar
    │       grails-plugin-url-mappings-2.1.1.jar
    │       grails-plugin-validation-2.1.1.jar
    │       grails-resources-2.1.1.jar
    │       grails-scripts-2.1.1.jar
    │       grails-spring-2.1.1.jar
    │       grails-test-2.1.1.jar
    │       grails-test-suite-base-2.1.1.jar
    │       grails-web-2.1.1.jar
    │       grails-webflow-2.1.1.jar
    │       grails-wrapper-support-2.1.1.jar
    │       groovy-all-1.8.8.jar
    │       h2-1.3.164.jar
    │       hamcrest-core-1.1.jar
    │       hibernate-commons-annotations-3.2.0.Final.jar
    │       hibernate-core-3.6.10.Final.jar
    │       hibernate-ehcache-3.6.10.Final.jar
    │       hibernate-jpa-2.0-api-1.0.1.Final.jar
    │       hibernate-validator-4.1.0.Final.jar
    │       hsqldb-1.8.0.10.jar
    │       itext-2.0.8.jar
    │       ivy-2.2.0.jar
    │       jansi-1.2.1.jar
    │       javassist-3.16.1-GA.jar
    │       javax.servlet-api-3.0.1.jar
    │       jcl-over-slf4j-1.6.2.jar
    │       jline-1.0.jar
    │       jna-3.2.3.jar
    │       json-simple-1.1.jar
    │       jsp-api-2.0.jar
    │       jsp-api-2.1.jar
    │       jstl-1.1.2.jar
    │       jta-1.1.jar
    │       jul-to-slf4j-1.6.2.jar
    │       junit-4.10.jar
    │       liquibase-core-2.0.5.jar
    │       log4j-1.2.16.jar
    │       ognl-2.7.3.jar
    │       org.springframework.uaa.client-1.0.1.RELEASE.jar
    │       oro-2.0.8.jar
    │       persistence-api-1.0.jar
    │       protobuf-java-2.4.1.jar
    │       serializer-2.7.1.jar
    │       servlet-api-2.4.jar
    │       sitemesh-2.4.jar
    │       slf4j-api-1.6.2.jar
    │       snakeyaml-1.8.jar
    │       spring-aop-3.1.2.RELEASE.jar
    │       spring-asm-3.1.2.RELEASE.jar
    │       spring-aspects-3.1.2.RELEASE.jar
    │       spring-beans-3.1.2.RELEASE.jar
    │       spring-binding-2.0.8.RELEASE.jar
    │       spring-context-3.1.2.RELEASE.jar
    │       spring-context-support-3.1.2.RELEASE.jar
    │       spring-core-3.1.2.RELEASE.jar
    │       spring-expression-3.1.2.RELEASE.jar
    │       spring-jdbc-3.1.2.RELEASE.jar
    │       spring-jms-3.1.2.RELEASE.jar
    │       spring-js-2.0.8.RELEASE.jar
    │       spring-orm-3.1.2.RELEASE.jar
    │       spring-test-3.1.2.RELEASE.jar
    │       spring-tx-3.1.2.RELEASE.jar
    │       spring-web-3.1.2.RELEASE.jar
    │       spring-webflow-2.0.8.RELEASE.jar
    │       spring-webmvc-3.1.2.RELEASE.jar
    │       springloaded-core-1.0.6.jar
    │       standard-1.1.2.jar
    │       tomcat-annotations-api-7.0.30.jar
    │       tomcat-api-7.0.30.jar
    │       tomcat-catalina-7.0.30.jar
    │       tomcat-catalina-ant-7.0.30.jar
    │       tomcat-coyote-7.0.30.jar
    │       tomcat-embed-core-7.0.30.jar
    │       tomcat-embed-jasper-7.0.30.jar
    │       tomcat-embed-logging-juli-7.0.30.jar
    │       tomcat-embed-logging-log4j-7.0.30.jar
    │       tomcat-juli-7.0.30.jar
    │       tomcat-servlet-api-7.0.30.jar
    │       tomcat-util-7.0.30.jar
    │       validation-api-1.0.0.GA.jar
    │       xpp3_min-1.1.4c.jar
    │
    └───tld
            c.tld
            fmt.tld
            grails.tld
            spring.tld

1 个答案:

答案 0 :(得分:8)

这实际上是一个已知问题:

  • IDEA-72093允许部署在“grails war”
  • 创建的运行配置战中

您应该使用第一条评论中的解决方法:

  

运行服务器时,需要做两件事:运行Build | Make Grails Web Archive,然后运行服务器的运行配置   创建战争添加为外部来源

如果您不了解外部来源选项,check this screenshot