使用run-web运行应用程序时从Webflow解析视图

时间:2014-09-16 10:52:25

标签: grails grails-plugin spring-webflow

我有grails应用程序使用插件来模块化应用程序。 app的结构如下:

  • pluginA
  • pluginB
  • pluginMain

在其中一个插件(比如pluginA)上,我有一个使用Spring Webflow的控制器(使用Spring Webflow 2.0.8.1)。

插件在pluginMain的BuildConfig.groovy中本地解析(grails.plugin.location.'pluginA'=“../pluginA” grails.plugin.location.'pluginB'=“../pluginB”)。

运行使用 run-app 的应用时,网络流使用的视图已恢复正常。

但是,当我从插件运行带有 run-war 控制器的app时,尝试从位置解析视图 pluginMain / WEB-INF / grails-app / views / controllerName / flowName / nameOfView .jsp,而不是来自 pluginA 所以我收到HTTP 404找不到错误。

我使用的是grails 2.3.7和java jdk 1.7。

请帮忙!

1 个答案:

答案 0 :(得分:0)

它在战争情况下寻找的位置是解析页面和流量视图的标准位置。尝试使用内联插件(grails.plugin.location)创建war文件可能会遇到麻烦。

在开发插件功能时,内联插件支持非常好,但它有它的怪癖,特别是当你得到多个依赖插件时。在某些时候,你必须分解并开始发布你的插件。

尝试使用" maven-install"将插件发布到本地Maven存储库。命令。然后更改BuildConfig.groovy文件以引用已安装的插件版本。

我的正常工作流程是这样的:

  1. 使用BuildConfig.groovy中的内联插件定义开发新的插件功能,使用run-app和run-test进行测试,直到我开心。

  2. 发布插件的SNAPSHOT版本(即1.0.1-SNAPSHOT)并更新BuildConfig.groovy以指向快照并使用run-app和run-war进行测试,例如:

    编译(":ark-kpi:1.0.1-SNAPSHOT")

  3. 如果您想与同事共享(publish-plugin),请将您的插件以发布形式发布到本地maven存储库(maven-install)或公共存储库(如本地运行的Artifactory)。

    < / LI>

    有关设置存储库的详细信息,请阅读有关插件和配置的指南部分。