0

Groovy ビルド スクリプトで奇妙な問題に直面しています。プロジェクト全体で、他のすべてのビルド スクリプト (maven および ant) を呼び出すヘルパー groovy スクリプトを使用します。groovy スクリプト呼び出しによって呼び出される ant ターゲットの 1 つは、「exec」grails war を介して呼び出します。

    <exec executable="cmd" dir="${parentDir}/${grails.appname}">
        <arg value="/c"/>
        <arg path="${env.GRAILS_HOME}/bin/grails.bat"/>
        <arg value="war"/>
        <arg value="${grails.appname}-${app.version}.war"/>
    </exec>

このブロックの呼び出しは次のエラーで失敗します。

     [exec] Application is pre-Grails 0.5, please run: grails upgrade

この問題を回避する方法はありますか?

御時間ありがとうございます。

4

1 に答える 1

1

私はついに問題の解決策を見つけました。これが最善の方法であるかどうかはわかりませんが、問題は解決しました。そこで、「exec」ブロックと同じターゲットに、新しい「exec」ブロックを追加して、grails.bat のアップグレードを呼び出しました。これまでのところ、このコマンドをパラメーターなしで呼び出すと、要求された操作を続行するかどうかの確認の質問が生成されます。ant では、これにより無限ループが作成されます。これを避けるために、「-f」パラメータを追加しました。exec ブロック全体:

    <exec executable="cmd" dir="${parentDir}/${grails.appname}">
        <arg value="/c"/>
        <arg path="${env.GRAILS_HOME}/bin/grails.bat"/>
        <arg value="upgrade"/>
        <arg value="-force"/>
    </exec>

これが誰かを助けることを願っています。

于 2012-04-05T12:23:38.957 に答える