web-dev-qa-db-ja.com

Gradle-ディレクトリをクラスパスに追加

私のアプリケーションでは、ディレクトリの下で構成ファイルを探すときに、クラスパスで\configディレクトリが使用可能である必要があります。私は現在、そのように構成された依存関係を持っていますが、これはおそらく私のアプリケーションでディレクトリを利用可能にする正しい方法ではありません:

dependencies {
    ... //runtime, compile dependencies pulled from repositories
    runtime files('config')
}

applicationプラグインを使用して、プロジェクトのスタンドアロンZipを作成しています。 \configディレクトリに\config\subdirfile1file2がある場合、プラグインは次の構造を持つbuild\installディレクトリを生成します。

| build
| --|install
| ----|bin
| ------ projectName
| ------ projectName.bat
| ----|lib
| ------ dependency1.jar
| ------ dependency2.jar
| ------|subdir
| ------ file1
| ------ file2

\configディレクトリを明示的に予期しているため、これは私のアプリケーションでは機能しません

ただし、これは私が必要とするディレクトリ構造です。

| build
| --|install
| ----|bin
| ------ projectName
| ------ projectName.bat
| ----|lib
| ------ dependency1.jar
| ------ dependency2.jar
| ----|config
| ------|subdir
| ------ file1
| ------ file2

Gradleに別のディレクトリをビルドに追加して、生成されたスタートアップスクリプトのクラスパスの一部として指定するにはどうすればよいですか?

11
Omar Darwish

アプリケーションプラグイン ドキュメント のコメント:

ディストリビューションに追加する静的ファイルは、src/distに簡単に追加できます。

Configディレクトリを_src/dist/lib_に入れて、runtime files('src/dist/lib/config')を使用してクラスパスに追加し続けます

注:回避策 この欠陥 は、configが_/lib_の下の_src/dist_に入る必要があることを意味します

6
RaGe

これを試すことができます:

project('project-name') {
   apply plugin: 'application'
   mainClassName = "your.main.Class"

   startScripts {
       classpath += files('src/dist/lib/conf')
   }

詳細については、 こちら をご覧ください。

3
Andy Malakov