gpt4 book ai didi

groovy - Gradle - 处理外部资源

转载 作者:行者123 更新时间:2023-12-02 06:36:24 24 4
gpt4 key购买 nike

我正在尝试将一个简单的 Groovy 项目移动到 Gradle。我基本上能够配置项目,但我不知道如何处理外部资源。

基本上,我的应用程序需要访问 JSON 格式的配置文件。在迁移到 Gradle 之前,我曾经在命令行上传递此 JSON 文件的位置。我制作了一个简单的 bash 脚本来使用正确的资源路径调用主类。

如果我理解正确的话,使用 Gradle,我应该能够将此文件移动到 src/main/resources/并以某种方式从 Groovy 类中获取它。问题是:如何?

编辑

如果我理解正确,资源应该以构建的 JAR 结尾。我的目录结构是这样的

src
main
groovy
orgName
packageName
source.groovy
resources
orgName
packageName
config.json

但是我没有看到 build 中生成的 packageName.jar 内的资源目录

最佳答案

我举了一个简单的例子......给定这个目录结构:

.
|-- src
| |-- main
| |-- groovy
| | \-- org
| | |-- Test.groovy
| \-- resources
| \-- config.json
\-- build.gradle

其中 Test.groovy 是:

package org

import groovy.json.*

public class Test {
static main( args ) {
def slurper = new JsonSlurper()
def config = slurper.parseText( Test.class.getResource( '/config.json' ).text )
println "Args were $args, config is $config"
}
}

config.json 是:

{
"data": true
}

build.gradle是:

apply plugin: 'groovy'

repositories {
mavenCentral()
}

dependencies {
groovy 'org.codehaus.groovy:groovy-all:2.0.0'
}

task runTest ( dependsOn: 'classes', type: JavaExec ) {
main = 'org.Test'
classpath = sourceSets.main.runtimeClasspath
args 'ARG1'
}

您应该能够运行 gradle runTest 并且它应该可以正常工作...

关于groovy - Gradle - 处理外部资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11536560/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com