我的应用程序要求在类路径中查找目录下的配置文件时,\config
目录可用。我目前有依赖配置,但这可能不是使我的应用程序可用的目录的正确方法:
dependencies {
... //runtime, compile dependencies pulled from repositories
runtime files('config')
}
我正在使用application
插件为我的项目创建一个独立的zip。如果我的\config
目录包含\config\subdir
,file1
,file2
,则插件会生成一个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将另一个目录添加到构建中并将其指定为生成的启动脚本的类路径的一部分?
答案 0 :(得分:6)
应用程序插件documentation说:
要添加到分发中的静态文件可以简单地添加到src / dist
我会尝试将您的配置目录放入src/dist/lib
并继续使用runtime files('src/dist/lib/config')
注意:解决this defect意味着配置必须进入/lib
下的src/dist
答案 1 :(得分:3)
你可以试试这个:
project('project-name') {
apply plugin: 'application'
mainClassName = "your.main.Class"
startScripts {
classpath += files('src/dist/lib/conf')
}
可以找到更多信息here。
答案 2 :(得分:1)
jar {
manifest {
attributes('Class-Path' : '<directory>' )
}
}
以上对我有用