java - 无法访问生成的java文件

标签 java android-studio gradle grpc

我的项目使用 gRPC,它在生成的文件夹中生成一个文件。

enter image description here

这是我的模块的 build.gradle。

apply plugin: 'java'

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])

    compile 'io.grpc:grpc-okhttp:1.4.0'
    compile 'io.grpc:grpc-protobuf-lite:1.4.0'
    compile 'io.grpc:grpc-stub:1.4.0'
    compile 'javax.annotation:javax.annotation-api:1.2'
}

sourceCompatibility = "1.7"
targetCompatibility = "1.7"


apply plugin: 'com.google.protobuf'
def grpcVersion = '1.4.0' // CURRENT_GRPC_VERSION
protobuf {
    protoc {
        artifact = 'com.google.protobuf:protoc:3.3.0'
    }
    plugins {
        grpc {
            artifact = "io.grpc:protoc-gen-grpc-java:${grpcVersion}"
        }
    }
    generateProtoTasks {
        all()*.plugins {
            grpc {
                // To generate deprecated interfaces and static bindService method,
                // turn the enable_deprecated option to true below:
                option 'enable_deprecated=false'
            }
        }
    }
}


// Inform IntelliJ projects about the generated code.
apply plugin: 'idea'

idea {
    module {
        // Not using generatedSourceDirs because of
        // https://discuss.gradle.org/t/support-for-intellij-2016/15294/8
        sourceDirs += file("${projectDir}/build/generated/source/proto/main/java");
        sourceDirs += file("${projectDir}/build/generated/source/proto/main/grpc");
    }
}

如何解决这个问题?

最佳答案

您必须将此文件夹添加到您的源集中。 以下内容应该有效:

sourceSets {
   generated{
        java.srcDir "${projectDir}/build/generated/source/proto/main/java"
   }
}

Here是用于自定义源集的综合文档。

关于java - 无法访问生成的java文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45125818/

相关文章:

Java:如何编写一个使用 boolean 值和字符串仅识别大写字母的程序

java - log4j2 java.lang.NoClassDefFoundError : org/apache/logging/log4j/LogManager 错误

java - 查看全局类变量?

java - 如何确定我的目标 SDK 需要哪个 Android Gradle 插件版本?

java - JTextPane/JEditorPane 和奇怪的文本问题

android studio - 无法找到哈希字符串为 'android-28' 的目标

java - APK META-INF 中复制的重复文件

android - 从 Android Studio 进行调试时,Gradle 无法使用 JAVA_HOME

java - 如何仅使用本地目录作为存储库在 gradle 上设置 springframework?

java mysql 服务器超时错误且缺乏 Activity