Ресурсы из main не читаются из другой исходной папки - PullRequest
0 голосов
/ 10 октября 2018

Я создал новую исходную папку в моем src/.Структура каталогов выглядит следующим образом:

src/main/java
src/main/resources
src/test/java
src/test/resources
src/integrationTest/java
src/integrationTest/resources

В integrationTest я создал несколько тестов и настроил конфигурацию в соответствии с этим вопросом: Добавить несколько исходных каталогов тестов для тестов

Теперь, когда я запускаю тесты, файл в main пытается прочитать ресурс из его пути к классу, но получает исключение для файла, который не найден.Этот же файл при чтении во время работы приложения работает нормально.Как добавить его в путь к классу интеграционной тестовой задачи?Я не уверен, стоит ли мне задавать этот вопрос.

Затрагиваемый код: MyBatis SqlSession, который внутренне считывает предоставленный ему файл:

Caused by: java.io.FileNotFoundException: class path resource [foo/bar/dao/writer/writer-sql-map.xml] cannot be opened because it does not exist
    at org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:172)
    at org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:406)
    at org.mybatis.spring.SqlSessionFactoryBean.afterPropertiesSet(SqlSessionFactoryBean.java:380)
    at org.mybatis.spring.SqlSessionFactoryBean.getObject(SqlSessionFactoryBean.java:547)

Части файла Gradle:

sourceSets {
    integrationTest {
        java {
            compileClasspath += files(main.java.outputDir) + files(test.java.outputDir)
            runtimeClasspath += files(main.java.outputDir) + files(test.java.outputDir)
            srcDir file('src/integrationTest/java')
        }
    }
}

configurations {
    integrationTestCompile.extendsFrom testCompile
    integrationTestRuntime.extendsFrom testRuntime
}

task integrationTest(type: Test){
    testClassesDirs = sourceSets.integrationTest.output.classesDirs
    classpath = sourceSets.integrationTest.runtimeClasspath
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...