2012-03-19 6 views
1

私が持っているもの: のapache-コモンズ-IOライブラリGrailsは:外部のGroovyスクリプトにライブラリを提供

とがある既存のGrailsアプリケーションでの作業のGrailsアプリケーション

を使用して外部GroovyScript (execute-Methodを使って)grailsと非同期に実行される異なる外部スクリプト(今のperl-scriptsのみ)

私はPerlScriptを実行するのと同じ方法で実行したいGroovyScriptを手に入れました。

現時点では、スクリプトにはlib-folderにcommons-io-libraryがあります。それはうまく動作します。

私の質問は次のとおりです。グレビクススクリプトはgrailsからcommons-io-libraryを滑らかできれいに提供するにはどうすればよいですか?私は現在の生産 - でTomcatにgrailsapplicationを展開する場合

groovy -cp=path/to/grailshome/lib.jar scripfile.groovy 

これは実際に動作しません:私は実行-方法

などを介して実行されるコマンド内のパスを提供する必要がありますかgrailsからのlibsが別のパスにあるので

スクリプトをgrailsのsrc/groovyフォルダに置くとおそらく動作しますが、それは私の望むやり方ではありません。スクリプトはスタンドアロンである必要があります。

私は実際には、私は本当に技術的な細部に精通していないし、groovy grails。

これがどのように達成できるかについての示唆とアイデアでさえ十分です。

私は事前

答えて

1

におけるおかげで、これはGrapesを使用して置く状況です、あなたが質問を理解してほしい:あなたのGroovyスクリプトの先頭に

@Grab('commons-io:commons-io:2.1') 

は役立つだろうか?

あなたは、これはうまくいくかもしれない、戦争としてこれを実行している場合:

String path = grailsApplication.parentContext 
           .getResource('WEB-INF/lib/commons-io-1.4.jar') 
           .file 
           .absolutePath 
+0

私はブドウについて多くを知らないが、Groovyのユーザガイドのに従って、それが唯一のmaven-の依存関係のためだと、残念ながらそれはありませんmaven-project。 もしmavenプロジェクトを持っている必要がないのであれば - 私の意見では - それは重複しています、grailsにはデフォルトでcommons-io-libraryが既にあります - それはスクリプトに提供したいライブラリです – Zobbl

+0

@Zobblは別のものを追加しました私の答えに可能な解決策 –

+0

まあ...グレープの注釈で試してみましたが、それはうまくいきます。グラウィスクリプトはgrailsを通して既に利用可能なライブラリについて知りませんが、今それは働く - それは重要です;) 私はあなたの2番目の提案も試してみましょう - それは "私にとっては良い"と感じる;) – Zobbl

関連する問題