在Spring Boot项目中使用Gradle从Kotlin测试引用Java代码时未解决的参考

我有一个项目,我正在使用Kotlin和Java代码。 我的主要Kotlin代码(包括@SpringBootApplication主类)在src / main / kotlin中,但是在src / main / java中有一些旧的客户端库代码。 我也在src / test / kotlin有一些测试。

在IntelliJ中,我可以运行测试没有问题,但是当我使用gradle测试运行测试时,我得到错误cannot access class ** Unresolved referencecannot access class ** 。 我不确定这是为什么发生。 这些错误与Java类中的代码有关。

我的kotlin代码和测试与客户端库代码稍有不同, 我的主要代码位于名为com.sky.vision.playlistapi的包中,客户端库位于名为com.sky.nifty的包中。 我想知道这可能是问题的根源吗?

我的build.gradle文件在这里:

 buildscript { ext { kotlinVersion = '1.2.10' } } plugins { id 'java' id 'org.springframework.boot' version '1.5.9.RELEASE' id 'org.jetbrains.kotlin.jvm' version'1.2.10' id 'org.jetbrains.kotlin.plugin.allopen' version '1.2.10' id 'org.jetbrains.kotlin.plugin.spring' version '1.2.10' id 'org.jetbrains.kotlin.plugin.jpa' version '1.2.10' id 'org.jetbrains.kotlin.plugin.noarg' version '1.2.10' } group = 'com.sky.vision' version = '0.0.1-SNAPSHOT' sourceCompatibility = 1.8 repositories { mavenCentral() } dependencies { compile(group: 'org.springframework.boot', name: 'spring-boot-starter') compile(group: 'org.springframework.boot', name: 'spring-boot-starter-web') compile(group: 'org.springframework.boot', name: 'spring-boot-starter-security') compile(group: 'org.springframework.boot', name: 'spring-boot-starter-data-jpa') compile(group: 'org.jetbrains.kotlin', name: 'kotlin-stdlib-jdk8', version: kotlinVersion) compile(group: 'org.jetbrains.kotlin', name: 'kotlin-reflect', version: kotlinVersion) compile(group: 'org.apache.commons', name: 'commons-lang3', version: '3.4') compile(group: 'com.fasterxml.jackson.core', name: 'jackson-core') compile(group: 'com.fasterxml.jackson.core', name: 'jackson-databind') compile(group: 'org.reflections', name: 'reflections', version: '0.9.9') compile(group: 'org.aspectj', name: 'aspectjweaver') compile(group: 'ch.qos.logback', name: 'logback-classic', version: '1.1.7') testCompile(group: 'org.springframework.boot', name: 'spring-boot-starter-test') testCompile(group: 'org.jetbrains.kotlin', name: 'kotlin-test') testCompile(group: 'org.jetbrains.kotlin', name: 'kotlin-test-junit') runtime(group: 'org.postgresql', name: 'postgresql', version: '9.4-1201-jdbc41') } 

这是我的项目布局:

在这里输入图像说明

如果有人能帮助我理解这个问题,我将不胜感激。

原来问题是我有一些.java类在src / main / kotlin里面。 一旦我把它们移到src / main / java下,问题就解决了。