Gradle-добавить каталог в путь к классам
мое приложение требует, чтобы config
каталог будет доступен на пути к классам, когда он ищет файлы конфигураций в каталоге. В настоящее время у меня есть зависимости, настроенные так, хотя это, вероятно, не правильный способ сделать каталог доступным для моего приложения:
dependencies {
... //runtime, compile dependencies pulled from repositories
runtime files('config')
}
Я использую application
плагин для создания автономного zip для моего проекта. Если мой и configsubdir
, file1
, file2
, затем плагин создает buildinstall
каталог со следующей структурой:
| 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 добавить другой каталог в сборку и указать его как часть пути к классам для сгенерированных сценариев запуска?
2 ответов
приложение плагин документация говорит:
статические файлы, которые будут добавлены в дистрибутив, можно просто добавить в src / dist
Я бы попытался поместить ваш каталог конфигурации в src/dist/lib
и далее добавить его в ваш classpath с runtime files('src/dist/lib/config')
Примечание: работает вокруг этот дефект означает, что config должен войти в /lib
под src/dist
вы можете попробовать это:
project('project-name') {
apply plugin: 'application'
mainClassName = "your.main.Class"
startScripts {
classpath += files('src/dist/lib/conf')
}
больше информации можно найти здесь.