グルーヴィーなスクリプトを移植可能にしたいので、最初の行に挿入しました。
#!/usr/bin/env groovy
ディレクトリの外でスクリプトを実行すると問題が発生し、ライブラリが見つかりません。私はPythonの世界から来ており、Pythonでのすべてのインポートは、比較的スクリプトのパスを解決します。groovyでは、-classpathを指定する必要があるようですが、最初の#では指定できません。ライン。
それを解決する方法の提案はありますか?
ライブラリが Maven リポジトリに格納されていて、実行したい場所にアクセスできる場合、1 つの解決策は、Grapeを使用してライブラリを取得することです。
これにはいくつかの利点があります。
.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で利用できる既存のライブラリが多数あります。
公開されていないライブラリがある場合でも、独自のライブラリをローカル/プライベート リポジトリに配置するのは比較的簡単です。