Gradle - 将目录添加到类路径

2022-09-01 16:13:27

我的应用程序要求在类路径下查找配置文件时,该目录在类路径上可用。我目前有这样的依赖关系配置,尽管这可能不是使目录可用于我的应用程序的正确方法:\config

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

我正在使用插件为我的项目创建一个独立的zip。如果我的目录有 、 、 ,则插件会生成一个具有以下结构的目录:application\config\config\subdirfile1file2build\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 向构建中添加另一个目录,并将其指定为生成的启动脚本的类路径的一部分?


答案 1

应用程序插件文档说:

要添加到发行版中的静态文件可以简单地添加到 src/dist 中

我会尝试将你的配置目录放入并继续将其添加到你的类路径中src/dist/libruntime files('src/dist/lib/config')

注意:解决此缺陷意味着配置必须进入/libsrc/dist


答案 2

你可以试试这个:

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

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

更多信息可以在这里找到。


推荐