1

Groovyスクリプトでドメインオブジェクトにアクセスする方法はありますか?いつものようにインポートしようとしましたが、それでもNoClassDefFoundError。パッケージをdependsリストに追加しようとしましたが、それも役に立ちません。

を介してスクリプトを呼び出していますgrails MyScript param1 param2。それを実行すると、正常にgrails run-script scripts/MyScriptインポートできますが、パラメーターを渡すことはできません。

私は自分の問題を正確に模倣するこの質問を見ましたが、解決策は私にはうまくいかないようです。

import foo.Bar

includeTargets << grailsScript("Init")
includeTargets << grailsScript("_GrailsArgParsing")

target(main: "Does Foo") {
    depends(configureProxy, classpath, parseArguments)

    println argsMap

    Bar.get(1)//Throws java.lang.NoClassDefFoundError
}

setDefaultTarget(main)

Groovyスクリプトでドメインクラスをインポートしてスクリプトパラメータにアクセスするにはどうすればよいですか?

4

1 に答える 1

1

通常のスクリプトとしてではなく、run-scriptを使用してスクリプトを実行する必要があります

run-scriptのドキュメントを参照してください

run-scriptsupporコマンドライン引数が実際にrunscriptソースコードを見ているとは思いません 。

実行中のスクリプトに引数を渡すrun-scriptクローンをBeanとして書き直すことができます(grailsApplicationの場合と同様)。難しいことではないと思います。

または、構成に含まれている外部プロパティファイルを使用して、引数をgrailsアプリケーションに渡し、スクリプトを実行することもできます。

于 2012-06-28T07:58:05.450 に答える