java - Gradle - 将目录添加到类路径

标签 java gradle classpath build.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 添加另一个目录到构建中并将其指定为生成的启动脚本的类路径的一部分?

最佳答案

应用插件documentation说:

Static files to be added to the distribution can be simply added to src/dist

我会尝试将您的配置目录放入 src/dist/lib 并继续使用 runtime files('src/dist/lib/config') 将其添加到您的类路径>

注意:解决this defect意味着配置必须进入 src/dist

下的 /lib

关于java - Gradle - 将目录添加到类路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35545405/

相关文章:

java - Spring Boot 自动配置的 Jackson ObjectMapper 默认情况下不用于 WebFlux WebClient

android - 将模块导入到 gradle

android - 检索项目 : No resource found that matches the given name 的父项时出错

gradle - 避免类似 Gradle 任务之间的重复?

java - 如何从父目录执行Java程序

java - 何时初始化具有默认方法的接口(interface)?

java - 从文件中读取 JSON 数据以在 StringEntity 中使用

java - 在 For 循环中等待 Bukkit 任务完成

java - 如何在 gradle 的应用程序插件 'run' 任务的类路径上指定一个额外的文件夹?

java - 不明白 javac 对 -classpath 的以下使用