使用Gradle

时间:2018-01-11 12:08:07

标签: java spring-boot intellij-idea gradle kotlin

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

在IntelliJ中,我可以毫无问题地运行测试,但是当我使用gradle测试运行测试时,我会收到错误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')
}

这是我的项目布局:

enter image description here

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

1 个答案:

答案 0 :(得分:-1)

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