如何从 Protobuf 生成 Scala 文件而不是 Java 文件
How can I generate Scala files instead of Java files from from Protobuf
我的目标是在我的项目中使用 akka-grpc
。通过使用演练,https://developer.lightbend.com/docs/akka-grpc/current/client/walkthrough.html 我尝试生成 Scala 文件。但是,每当我构建项目(通过 mvn clean package
)时,它都会生成 Java 文件而不是 Scala 文件。有没有办法生成 Scala 文件?我已经尝试将 Java 转换为 Scala,但它没有用。
这是我的原型文件(与演练中的相同):
syntax = "proto3";
option java_multiple_files = true;
option java_package = "example.myapp.helloworld.grpc";
option java_outer_classname = "HelloWorldProto";
package helloworld;
// The greeting service definition.
service GreeterService {
// Sends a greeting
rpc SayHello (HelloRequest) returns (HelloReply) {}
rpc ItKeepsTalking (stream HelloRequest) returns (HelloReply) {}
rpc ItKeepsReplying (HelloRequest) returns (stream HelloReply) {}
rpc StreamHellos (stream HelloRequest) returns (stream HelloReply) {}
}
// The request message containing the user's name.
message HelloRequest {
string name = 1;
}
// The response message containing the greetings
message HelloReply {
string message = 1;
}
您应该在您的 maven 配置中指定它。来自 docs:
<plugin>
<groupId>com.lightbend.akka.grpc</groupId>
<artifactId>akka-grpc-maven-plugin</artifactId>
<version>${akka.grpc.version}</version>
<configuration>
<language>Scala</language>
<generateClient>false</generateClient>
<generateServer>true</generateServer>
</configuration>
</plugin>
我的目标是在我的项目中使用 akka-grpc
。通过使用演练,https://developer.lightbend.com/docs/akka-grpc/current/client/walkthrough.html 我尝试生成 Scala 文件。但是,每当我构建项目(通过 mvn clean package
)时,它都会生成 Java 文件而不是 Scala 文件。有没有办法生成 Scala 文件?我已经尝试将 Java 转换为 Scala,但它没有用。
这是我的原型文件(与演练中的相同):
syntax = "proto3";
option java_multiple_files = true;
option java_package = "example.myapp.helloworld.grpc";
option java_outer_classname = "HelloWorldProto";
package helloworld;
// The greeting service definition.
service GreeterService {
// Sends a greeting
rpc SayHello (HelloRequest) returns (HelloReply) {}
rpc ItKeepsTalking (stream HelloRequest) returns (HelloReply) {}
rpc ItKeepsReplying (HelloRequest) returns (stream HelloReply) {}
rpc StreamHellos (stream HelloRequest) returns (stream HelloReply) {}
}
// The request message containing the user's name.
message HelloRequest {
string name = 1;
}
// The response message containing the greetings
message HelloReply {
string message = 1;
}
您应该在您的 maven 配置中指定它。来自 docs:
<plugin>
<groupId>com.lightbend.akka.grpc</groupId>
<artifactId>akka-grpc-maven-plugin</artifactId>
<version>${akka.grpc.version}</version>
<configuration>
<language>Scala</language>
<generateClient>false</generateClient>
<generateServer>true</generateServer>
</configuration>
</plugin>