私はプラグインを作成していますが、プラグインのルートディレクトリまたはインストールされたディレクトリの中にファイルを書き込もうとしています。私はこの値をどのように保持するかを理解できないようです。 System.properties['base.dir']
を実行すると、Grailsプロジェクトのルートディレクトリが実装されます。Grailsプラグインのルートまたはインストールされたディレクトリを取得
C:/ PluginProject/
C:だから今、私は2つのディレクトリを持っている/ GrailsAppThatUsesPlugin/
それは、これがなったときにも同様に2つのディレクトリを持つユーザーがプラグイン配布さというのが私の理解です:
GRAILS_HOME/Grailsのバージョン/プロジェクト/プロジェクト名/プラグイン/ myPlugin/
C:/ GrailsAppThatUsesPlugin/
私のプラグインプロジェクトの中で私はファイルを作成する必要があります。私が書いているファイルは、私のプラグインが提供する他のファイルを参照する必要があるので、私のプラグインの中にいる必要があります。働いていない私が試したいくつかのことです:Groovyのスクリプトで
System.properties['base.dir']
new File("")
- あなたは、単に
pluginNamePluginDir
を参照することができますが、私はこれにアクセスしようとしているプラグイン内ポゴから。 System.properties
を見ると、プラグインディレクトリはありません- grailsApplicationにはこのタイプの情報が含まれていないようです。
ご協力いただきまして誠にありがとうございます。
このコードをテストに入れ、 'plugin.descriptor'は常にnullです。 'plugin'はnullではありません。また、 'plugin.getPluginDir()'を実行してNPEをスローするとします。何かご意見は?ディスクリプタを利用できるように設定する必要がありますか?ご協力いただきありがとうございます! –
私はこのようなものを使ってしまいました:http://stackoverflow.com/questions/1163093/how-do-you-get-the-path-the-running-script-in-groovyそれは私に私が探していた道を持っていた。 PluginManagerHolderを使用して必要な情報を取得できました。ありがとうBurt! –