繁体   English   中英

Gradle - 将目录添加到类路径

[英]Gradle - add directory to classpath

当我的应用程序在目录下查找配置文件时,它要求在类路径上有一个\\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 将另一个目录添加到构建中并将其指定为生成的启动脚本的类路径的一部分?

应用程序插件文档说:

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

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

注意:解决这个缺陷意味着配置必须进入src/dist下的/lib

你可以试试这个:

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

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

可以在此处找到更多信息。

jar {
    manifest {
        attributes('Class-Path' : '<directory>' )
    }
}

以上对我有用

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM