【问题标题】:Command grails war from outside project directory来自外部项目目录的命令 grails 战争
【发布时间】:2012-08-02 11:10:28
【问题描述】:

有没有办法从项目目录之外调用 grails war? 我的项目路径是“d:/deploy/project”。 我想要一些如何将我的项目目录传递给编译器的方法。像这样的东西: grails d:/deploy/project war。

我构建了从批处理文件调用的 ant ant 脚本,因此批处理从 d: 开始。所以当ant任务执行时

我收到一个错误。有什么办法吗?

【问题讨论】:

  • 如果没有更多关于你如何调用该方法的信息,我认为没有人能给你一个满意的答案。我只是建议在调用 grails 命令之前调用 cd <path-to-grails-app>
  • 有一个java opt调用base.dir:grails -Dbase.dir="/tmp/admin" war
  • 照你说的拉斐尔。 Grails 显示错误消息“无法在空对象上调用方法 getAt()”。你确定这行得通吗?

标签: grails deployment ant


【解决方案1】:

AFAIK,不。文档没有说明我找到的方法,“grails”命令的输出表明项目外部不支持“war”,即使您尝试传入 grails.project 也是如此。类.dir

>grails dev war /tmp/foo.war -Dgrails.project.class.dir=/tmp/MyGrailsProject
Configuring classpath
Error /home/someuser does not appear to be part of a Grails application.
Error The following commands are supported outside of a project:
    add-proxy
    clear-proxy
    create-app
    create-plugin
    help
    list-plugins
    package-plugin
    plugin-info
    remove-proxy
    set-proxy

因此,作为构建过程的一部分,您需要一些方法来更改当前的工作目录。

【讨论】:

  • 感谢您的回答比尔。当我在等待一些线索时,在调用 ant 脚本之前,我构建了一个批处理,将我的 dir 从 Windows 根目录设置到我的 grails 项目目录。我必须说,我一点也不快乐。大多数编译器都可以设置您的源目录,甚至 ant 也可以。如果我真的想这样做,我必须使用 shell 脚本,这很糟糕。
【解决方案2】:

我不得不做一些工作。我修改了我的蚂蚁脚本。脚本应该做的第一件事是创建一个临时目录并将所需的所有内容复制到该文件夹​​。 Grails 项目、flex 项目和 build.xml ant 文件本身。在这个初始过程之后,我在临时目录中调用 ant 文件。由于我需要的一切都在同一个文件夹中(包括 ant 脚本),我可以成功调用 grails war 命令。以这种方式工作,我既不高兴也不自豪,但它似乎是唯一的一种。

【讨论】:

    猜你喜欢
    • 2013-11-17
    • 1970-01-01
    • 1970-01-01
    • 2018-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-18
    相关资源
    最近更新 更多