-cpスイッチを使用せずにGroovyでデータベースjarを自動ロードするにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/254385

質問

Oracleデータベースを呼び出すGroovyスクリプトの実行を単純化したい。 ojdbc jarをデフォルトのクラスパスに追加して、実行できるようにするにはどうすればよいですか:

groovy RunScript.groovy

代わりに:

groovy -cp ojdbc5.jar RunScript.groovy
役に立ちましたか?

解決

Groovy Recipes から要約、Scott Davis、 ./ groovy / libディレクトリにJARを自動的に含める

  1. ログインディレクトリに .groovy / lib を作成
  2. $ {GROOVY_HOME} /conf/groovy-starter.confの次の行のコメントを解除します

    load!{user.home} /。groovy / lib / *。jar

  3. インクルードするjarファイルを .groovy / lib

  4. にコピーします

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
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top