-cpスイッチを使用せずにGroovyでデータベースjarを自動ロードするにはどうすればよいですか?
質問
Oracleデータベースを呼び出すGroovyスクリプトの実行を単純化したい。 ojdbc jarをデフォルトのクラスパスに追加して、実行できるようにするにはどうすればよいですか:
groovy RunScript.groovy
代わりに:
groovy -cp ojdbc5.jar RunScript.groovy
解決
Groovy Recipes から要約、Scott Davis、 ./ groovy / libディレクトリにJARを自動的に含める:
- ログインディレクトリに
.groovy / lib
を作成 -
$ {GROOVY_HOME} /conf/groovy-starter.confの次の行のコメントを解除します
load!{user.home} /。groovy / lib / *。jar
-
インクルードするjarファイルを
.groovy / lib
にコピーします
Groovy 1.5以降では、デフォルトでこれを取得するようです(confを編集する必要はありません)。/libディレクトリにjarをドロップするだけです。
他のヒント
いくつかの方法があります。 jarをシステムのCLASSPATH変数に追加できます。ホームディレクトリに.groovy / libというディレクトリを作成し、そこにjarを配置できます。実行時にクラスパスに自動的に追加されます。または、コードでそれを行うことができます:
this.class.classLoader.rootLoader.addURL(new URL("file:///path to file"))
groovy
は、Javaクラスパスを設定するGroovy JARの単なるラッパースクリプトです。そのスクリプトを修正して、独自のJARにパスを追加することもできます。
次の shebang をGroovyスクリプトの最初の行に追加できます。 :
#!/usr/bin/env groovy -cp ojdbc5.jar
次に、スクリプト実行可能ファイルにマークを付けます:
chmod u+x RunScript.groovy
現在、スクリプトを単独で実行すると、クラスパスが自動的に設定されます。
./RunScript.groovy
所属していません StackOverflow