java 6以降、クラスパスをワイルドカードで指定できます。
アプリケーションプラグインを使用すると、生成されたbinフォルダにクラスパスを含む開始スクリプトが作成されます。私たちがしたいことは、可能なすべてのjarファイルをbinフォルダにリストするのではなく、単にすべてのjarファイルを含めるだけです。
注:クラスパスを別の場所に配置する場合は、別のフォルダでも同じことができます。
これは、私のバージョンでこのプラグインに問題があるため、回避策として、以下のように最も簡単な方法で達成できます。 build.gradleでは、次の操作を行います。
startScripts {
doLast {
def windowsScriptFile = file getWindowsScript()
def unixScriptFile = file getUnixScript()
windowsScriptFile.text = windowsScriptFile.text.replaceAll('CLASSPATH=.*', 'CLASSPATH=\\$APP_HOME/lib/*')
unixScriptFile.text = unixScriptFile.text.replaceAll('CLASSPATH=.*', 'CLASSPATH=\\$APP_HOME/lib/*')
}
}
これは、起動スクリプトでlibフォルダをワイルドカードにします。起動すると、あなたのクラスパスは、単にあなたがそのフォルダにjarファイルをドロップすると、彼らは自動的に(起動時に、ではないランタイム上で)ピックアップします
lib/*
になります。
私は、これは、あなたがどのようなビルドシステムを使用している
アルトゥル
を役に立てば幸い? – pandaadb
@pandaadbビルドツールとしてGradleを使用しています。 – nybon