Не удается загрузить ресурсы в проекте Gradle - PullRequest
1 голос
/ 03 апреля 2019

Я использую Gradle 4.10.2 и IntelliJ IDEA Community Edition 2018.2. Обратите внимание, что это проект совместно используемой библиотеки jenkins, следовательно, он отличается от стандартной структуры проекта Gradle .enter image description here

Проект, показанный на рисунке, является существующим проектом Gradle.Я просто пытаюсь загрузить файл свойств, а именно.mailTemplate.properties в Groovy-классе EmailTemplate, но проблема в том, что независимо от того, где я его храню (как показано на рисунке), он не загружается.Я создал отдельный тестовый проект Gradle и поместил его в каталог по умолчанию (src / main / resources).и это работает как ветер.Я попытался создать ресурсы в двух местах, но безуспешно.

build.gradle:

buildscript {
    repositories {
        ivy {
            url "$repositoryURL/$resolveRepository"
        }
        maven {
            url "$repositoryURL/$resolveRepository"
        }
    }
    dependencies {
        classpath "tools.gradle.plugin:ReleasePlugin:1.10.0"
        classpath "tools.gradle.plugin:qualityreport:v1.14.4"
    }
}

group 'tools'

apply plugin: 'groovy'
apply plugin: 'tools.gradle.plugin.releaseplugin'
apply plugin: 'tools.gradle.plugin.qualityreport'

sourceSets {
    main {
        groovy {
            srcDirs = ['src']
        }
    }
    test {
        groovy {
            srcDirs = ['test/groovy']
        }
    }
}

repositories {
    addAll(buildscript.repositories)
}

dependencies {
    compile 'org.codehaus.groovy:groovy-all:2.4.15'
    compile 'org.codehaus.groovy:groovy-json:2.4.9'
    compile 'com.cloudbees:groovy-cps:1.1'
    compile 'org.slf4j:slf4j-api:1.7.21'

    testCompile 'junit:junit:4.12'
    testCompile 'org.hamcrest:hamcrest-core:1.3'
    testCompile 'net.bytebuddy:byte-buddy:1.6.4'
    testCompile ('org.spockframework:spock-core:1.1-groovy-2.4') {
        exclude group: 'org.codehaus.groovy'
    }
    testCompile gradleTestKit()
    testCompile group: 'com.lesfurets', name: 'jenkins-pipeline-unit', version: '1.1'
    testCompile group: 'org.mockito', name: 'mockito-core', version: '2.23.4'
    testCompile group: 'tools.gradle.plugin', name: 'jenkins-shared-stages', version: 'v2.48.0'

    // jenkins dependencies
    testCompile 'org.jenkins-ci.plugins:script-security:1.34@jar'
}

task copySharedLibs(type: Copy, group: "PipelineTest") {
    from '.'
    into 'build/libs/jenkins-shared-pipelines@master'
    include 'src/**'
    include 'vars/**'
}

test.dependsOn(copySharedLibs)

1 Ответ

0 голосов
/ 03 апреля 2019

Gradle groovy plugin ожидает, что ресурсы будут по умолчанию src/main/resources. Если ресурсы расположены в какой-то другой папке, то это должно быть настроено в sourceSets. Вы можете попробовать следующее, если ваш файл ресурсов также находится в папке src.

sourceSets {
    main {
        groovy {
            srcDirs = ['src']
        }
        resources {
            srcDirs = ['src']
        }
    }
    test {
        groovy {
            srcDirs = ['test/groovy']
        }
        resources {
            srcDirs = ['test/groovy']
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...