gpt4 book ai didi

java - 使用 Gradle 在 Spring Boot 项目中引用来自 Kotlin 测试的 Java 代码时出现未解析的引用

转载 作者:行者123 更新时间:2023-11-30 06:20:43 24 4
gpt4 key购买 nike

我有一个项目,我同时使用 Kotlin 和 Java 代码。我的主要 Kotlin 代码(包括 @SpringBootApplication 主类)位于 src/main/kotlin 中,但有一些遗留客户端库代码位于 src/main/java 中。我还在 src/test/kotlin 中有一些测试。

在 IntelliJ 中,我可以毫无问题地运行测试,但是当我使用 gradle test 运行测试时,我收到错误 未解析的引用无法访问类 **。我不确定为什么会发生这种情况。与 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')
}

这是我的项目布局:

enter image description here

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

最佳答案

事实证明,问题是我在 src/main/kotlin 包中有一些 .java 类。一旦我将它们移到 src/main/java 包下,问题就解决了。

关于java - 使用 Gradle 在 Spring Boot 项目中引用来自 Kotlin 测试的 Java 代码时出现未解析的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48206715/

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