4

グルーヴィーなスクリプトを移植可能にしたいので、最初の行に挿入しました。

#!/usr/bin/env groovy

ディレクトリの外でスクリプトを実行すると問題が発生し、ライブラリが見つかりません。私はPythonの世界から来ており、Pythonでのすべてのインポートは、比較的スクリプトのパスを解決します。groovyでは、-classpathを指定する必要があるようですが、最初の#では指定できません。ライン。

それを解決する方法の提案はありますか?

4

1 に答える 1

10

ライブラリが Maven リポジトリに格納されていて、実行したい場所にアクセスできる場合、1 つの解決策は、Grapeを使用してライブラリを取得することです。

これにはいくつかの利点があります。

  1. クラスパスについてまったく心配する必要はありません
  2. ライブラリを配布する必要はありません。Groovy がクライアントで利用可能であることを確認してください。
  3. ライブラリは一度だけダウンロードされるため、アプリケーションをアップグレードしても、.groovyファイルを再配布するだけで済みます。

簡単な例:

#!/usr/bin/env groovy

@Grab(group='commons-io', module='commons-io', version='2.3')
import org.apache.commons.io.FileUtils

... use FileUtils like normal ...

すでにmvnrepository.comで利用できる既存のライブラリが多数あります。

公開されていないライブラリがある場合でも、独自のライブラリをローカル/プライベート リポジトリに配置するのは比較的簡単です。

于 2012-05-24T07:49:28.510 に答える