Protokollpufferimporte, die in Intellij nicht anerkannt sindJava

Java-Forum
Anonymous
 Protokollpufferimporte, die in Intellij nicht anerkannt sind

Post by Anonymous »

Ich versuche, eine Protokollpuffernachricht in eine andere zu importieren, aber die Importe werden nicht erkannt. Solange ich nicht versuche, einen Protobuf in einen anderen zu importieren, wird der Protobufcode (in Java) generiert, der Code kompiliert und läuft wie erwartet. JVOLKMAN/Intellij-Protobuf-Editor (April 2020)
[*] Gradle

Meine Gradle-Build-Datei sieht so aus:

Code: Select all

plugins {
id 'java'
id 'com.google.protobuf' version "0.8.8"
}

group 'tech.tablesaw'
version '1.0-SNAPSHOT'

sourceCompatibility = 9.0

def grpcVersion = '1.30.1' // CURRENT_GRPC_VERSION
def protobufVersion = '3.12.0'
def protocVersion = protobufVersion

repositories {
mavenCentral()
}

test {
useJUnitPlatform()
}

dependencies {
implementation "io.grpc:grpc-protobuf:${grpcVersion}"
implementation "io.grpc:grpc-stub:${grpcVersion}"
compileOnly "org.apache.tomcat:annotations-api:6.0.53"

// advanced - need this for JsonFormat
implementation "com.google.protobuf:protobuf-java-util:${protobufVersion}"

runtimeOnly "io.grpc:grpc-netty-shaded:${grpcVersion}"
testImplementation "io.grpc:grpc-testing:${grpcVersion}"

compile group: 'tech.tablesaw', name: 'tablesaw-core', version: '0.38.1'
testCompile group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '5.6.2'
testImplementation "org.mockito:mockito-core:2.28.2"
}

protobuf {
protoc { artifact = "com.google.protobuf:protoc:${protocVersion}" }
plugins {
grpc { artifact = "io.grpc:protoc-gen-grpc-java:${grpcVersion}" }
}
generateProtoTasks {
all()*.plugins { grpc {} }
}
}

// Inform IDEs like IntelliJ IDEA, Eclipse or NetBeans about the generated code.
sourceSets {
main {
java {
srcDirs 'build/generated/source/proto/main/grpc'
srcDirs 'build/generated/source/proto/main/java'
}
}
}

task TablesawServer(type: CreateStartScripts) {
mainClassName = 'tech.tablesaw.service.TableServiceServer'
applicationName = 'tablesaw-table-server'
outputDir = new File(project.buildDir, 'tmp')
}

task TablesawClient(type: CreateStartScripts) {
mainClassName = 'tech.tablesaw.service.TableServiceClient'
applicationName = 'tablesaw-table-client'
outputDir = new File(project.buildDir, 'tmp')
}
< /code>
Und meine Gradle -Infos sehen folgendermaßen aus: < /p>
------------------------------------------------------------
Gradle 5.1.1
------------------------------------------------------------

Build time:   2019-01-10 23:05:02 UTC
Revision:     3c9abb645fb83932c44e8610642393ad62116807

Kotlin DSL:   1.1.1
Kotlin:       1.3.11
Groovy:       2.5.4
Ant:          Apache Ant(TM) version 1.9.13 compiled on July 10 2018
JVM:          9.0.4 (Oracle Corporation 9.0.4+11)
OS:           Mac OS X 10.13.5 x86_64
< /code>
Hier ist ein Beispielprotobuf. Der Import der column_type.proto schlägt fehl. < /p>
syntax = "proto3";

package tech.tablesaw.service.common;

import "tech/tablesaw/service/common/column_type.proto";

option java_multiple_files = true;
option java_package = "tech.tablesaw.service.common";
option java_outer_classname = "ColumnMetaProto";
option objc_class_prefix = "TSW";

// Proto file describing column metadata message.

// A column metadata object
message ColumnMetadata {

string name = 1;
int32 size = 2;
ColumnTypeEnum.ColumnType column_type = 3;
}

< /code>
Und hier ist die Datei, die ich [url=viewtopic.php?t=8986]importieren[/url] möchte: < /p>
syntax = "proto3";

package tech.tablesaw.service.common;

option java_multiple_files = true;
option java_package = "tech.tablesaw.service.common";
option java_outer_classname = "ColumnTypeEnum";
option objc_class_prefix = "TSW";

enum ColumnType {
SHORT = 0;
INTEGER = 1;
LONG = 2;
FLOAT = 3;
BOOLEAN = 4;
STRING = 5;
DOUBLE = 6;
LOCAL_DATE = 7;
LOCAL_TIME = 8;
LOCAL_DATE_TIME = 9;
INSTANT = 10;
TEXT = 11;
SKIP = 12;
}

< /code>
Schließlich sitzen die Protobufs im Dateisystem.  < /p>
src > main > java
> proto > tech > tablesaw > service > common > column_metadata.proto
> column_type.proto

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post