gpt4 book ai didi

java - 如何为 Immutables 设置 APT,以便 Intellij Idea 能够识别生成的代码?

转载 作者:行者123 更新时间:2023-12-01 20:08:15 46 4
gpt4 key购买 nike

我正在考虑从 maven 迁移到 gradle,在这种情况下,gradle 本身似乎工作正常,但 Idea 无法识别 Immutables 生成的源代码。

我读过这篇文章blog post on APT ,这就是我得到这个的原因。

/*
* This build file was generated by the Gradle 'init' task.
*
* This generated file contains a commented-out sample Java project to get you started.
* For more details take a look at the Java Quickstart chapter in the Gradle
* user guide available at https://docs.gradle.org/4.3/userguide/tutorial_java_projects.html
*/


// Apply the java plugin to add support for Java
apply plugin: 'java-library'
apply plugin: 'idea'

buildscript {
repositories {
maven {
url 'https://d3vfm0n2cffdwd.cloudfront.net'
}
jcenter()
}
dependencies {
classpath 'io.spring.gradle:dependency-management-plugin:1.0.0.RELEASE'
}
}

apply plugin: 'io.spring.dependency-management'

dependencyManagement {
imports {
mavenBom 'com.xenoterracide:platform:0.1.39-SNAPSHOT'
}
}

repositories {
maven {
url 'https://d3vfm0n2cffdwd.cloudfront.net'
}
jcenter()
}

configurations {
apt
aptCompile
}

// In this section you declare the dependencies for your production and test code
dependencies {
implementation 'com.google.guava:guava'

aptCompile 'org.immutables:value'
compileOnly 'org.immutables:value'
apt 'org.immutables:builder'

// The production code uses the SLF4J logging API at compile time
implementation 'org.slf4j:slf4j-api'

// Declare the dependency for your favourite test framework you want to use in your tests.
// TestNG is also supported by the Gradle Test task. Just change the
// testCompile dependency to testCompile 'org.testng:testng:6.8.1' and add
// 'test.useTestNG()' to your build script.
testImplementation 'junit:junit'
testImplementation 'org.assertj:assertj-core'
testImplementation 'org.mockito:mockito-core'
testImplementation 'org.hamcrest:hamcrest-library'
}

compileJava {
options.annotationProcessorPath = configurations.aptCompile
}

更多代码请参见bitbucket

令我困扰的一件事是,根据我的尝试,生成的 java 要么最终位于 out 目录中,要么位于类路径上的 build 中,当然到目前为止这些都没有解决问题。

我该如何解决这个问题,以便 Idea 可以看到生成类型的源代码(这样它就不会全部以红色突出显示)?

最佳答案

@CrazyCoder 的链接帮助我更接近解决方案,但这似乎可以解决它。

idea {
module {
sourceDirs += file("out/production/classes/generated")
}
}

关于java - 如何为 Immutables 设置 APT,以便 Intellij Idea 能够识别生成的代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47085917/

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