【问题标题】:Error executing script CreateAuthDomains: null\scripts\Init.groovy (The system cannot find the path specified)Error execution script CreateAuthDomains: null\scripts\Init.groovy(系统找不到指定的路径)
【发布时间】:2013-04-11 05:32:13
【问题描述】:

我正在尝试构建一个使用 grails 中的 acegi 和多租户插件的应用程序。我正在按照本教程中的说明进行操作:

http://ridingthetiger.wikia.com/wiki/Creating_a_Secure,_Multi-Tenant_Web_App_with_Grails

但是当我得到这个指令时:

grails create-auth-domains org.racetrack.User org.racetrack.Role Requestmap

我收到此错误:

Running script C:\Users\roise\.grails\1.3.7\projects\racetrack\plugins\acegi-0.5.2\scripts\CreateAuthDomains.groovy
Error executing script CreateAuthDomains: null\scripts\Init.groovy (The system cannot find the path specified)
java.io.FileNotFoundException: null\scripts\Init.groovy (The system cannot find the path specified)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(FileInputStream.java:138)
    at gant.Gant$_closure1.doCall(Gant.groovy:128)
    at gant.Gant$_closure1.call(Gant.groovy)
    at _SecurityTargets_groovy.run(_SecurityTargets_groovy:25)
    at _SecurityTargets_groovy$run.call(Unknown Source)
    at CreateAuthDomains.run(CreateAuthDomains:23)
    at CreateAuthDomains$run.call(Unknown Source)
    at gant.Gant.prepareTargets(Gant.groovy:606)
Error executing script CreateAuthDomains: null\scripts\Init.groovy (The system cannot find the path specified)

我已尝试按照教程进行到最后一个逗号。唯一不同的是我在 STS 中开发,我无法从命令行运行 create-app 命令,我实际上必须从 New 菜单创建一个新应用程序。到目前为止我已经掌握的其他三个命令 - 我已经输入并执行了完全如图所示。

【问题讨论】:

  • 由于我没有答案,我只能指出文章提到了 Grails 1.2.2,而我可以看到您使用的是 1.3.7
  • 我也试过了。它没有工作。 :( P.S.“acegi”和“spring security core”插件有什么区别?
  • 如果我没记错的话,acegi 在 s2 的第 2 版发布时就变成了 spring security。
  • ?!.那么为什么“acegi”仍然存在。人们不应该只使用 Spring Security 吗?
  • 是的,你现在应该使用 Spring Security。

标签: grails spring-security


【解决方案1】:

这里的问题是“GRAILS_HOME”环境变量没有设置。

来自Grails documentation

在 Windows 上,这通常是在我的电脑/高级/环境变量下设置环境变量

【讨论】:

    【解决方案2】:

    我相信@arcdegree 是正确的,问题是因为脚本无法确定 GRAILS_HOME 是什么,但在我的情况下,环境变量设置正确,我仍然遇到问题。

    我发现可以解决我的问题并且我相信会解决您的问题的是,您尝试运行的命令 (create-auth-domains ) 正在访问需要更新的 acegi 插件中的脚本 (CreateAuthDomains.groovy)。现在,这个问题已经很老了,没有公认的答案,所以我不确定你是否仍然遇到这个问题,但我认为这个答案会帮助其他任何人研究类似的问题。我的原因是试图使用一个旧的 jsecurity 插件,该插件已被一个较新的插件取代,但我打算使用与我所指的文档相同的东西。

    在这种情况下,您的脚本 CreateAuthDomains 可能使用了对 grailsHome 和 includeTargets 的旧引用,应将其替换为调用 grailsS​​cript("Init") 的单行。所以,注释掉这些行:

    • grailsHome = Ant.project.properties."environment.GRAILS_HOME"
    • includeTargets &lt;&lt; new File ("${grailsHome}/scripts/Init.groovy")

    然后添加这一行

    includeTargets << grailsScript("Init")
    

    保存文件并再次尝试您的命令。

    【讨论】:

      猜你喜欢
      • 2019-08-09
      • 2019-10-15
      • 2012-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-23
      • 2011-02-23
      相关资源
      最近更新 更多