- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 MyResponse.proto
文件,它导入两个 .proto
文件 Alternative.proto
和 Index.proto
>.
MyResponse.proto
文件:
import "Alternative.proto";
import "Index.proto";
message MyResponse {
repeated AlternativeV1 alternativeV1 = 1;
required IndexV1 indexV1 = 2;
}
Alternative.proto
文件:
import "Reference.proto";
message AlternativeV1 {
required string name = 1;
required string id = 2;
}
Index.proto
文件:
message IndexV1 {
required string name = 1;
}
使用 maven 编译 proto
文件时收到错误“AlternativeV1”未定义
。我使用 Intellij 作为 IDE。类型 AlternativeV1
和 IndexV1
在 IDE 中显示为“未解析的引用”。谁能帮我解决这个问题?
最佳答案
下面是一个小的工作示例。因此您可以将其与您的项目设置进行比较。
假设以下文件和目录结构。
pom.xml
src/main/proto/Alternative.proto
src/main/proto/Index.proto
src/main/proto/MyResponse.proto
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>sub.optimal</groupId>
<artifactId>ProtoExample</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
<version>2.6.1</version>
</dependency>
</dependencies>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- <maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>-->
</properties>
<pluginRepositories>
<pluginRepository>
<releases>
<updatePolicy>never</updatePolicy>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>central</id>
<name>Central Repository</name>
<url>https://repo.maven.apache.org/maven2</url>
</pluginRepository>
<pluginRepository>
<id>protoc-plugin</id>
<url>https://dl.bintray.com/sergei-ivanov/maven/</url>
</pluginRepository>
</pluginRepositories>
<build>
<plugins>
<plugin>
<groupId>com.google.protobuf.tools</groupId>
<artifactId>maven-protoc-plugin</artifactId>
<version>0.4.4</version>
<configuration>
<protocExecutable>protoc</protocExecutable>
</configuration>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>test-compile</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
Alternative.proto
package sub.optimal;
message AlternativeV1 {
required string name = 1;
required string id = 2;
}
Index.proto
package sub.optimal;
message IndexV1 {
required string name = 1;
}
MyResponse.proto
package sub.optimal;
option java_outer_classname = "MyResponseProtos";
import "Alternative.proto";
import "Index.proto";
message MyResponse {
repeated AlternativeV1 alternativeV1 = 1;
required IndexV1 indexV1 = 2;
}
以下内容已添加到 *.proto
文件
protoc
编译器将生成默认类 MyResponseOuterClass.java
运行mvncompile
将生成target/classes/sub/optimal/
下面的类。
关于java - .proto 文件导入时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34506534/
专家: 我有两个 .proto 文件(如下所示),第二个依赖于第一个。 ImageMessage.proto: package dvr; message ImageMessage { re
我按照找到的例子 here .但是每当我输入命令“C:/Program Files/protoc/bin/protoc”object_detection/protos/.proto --python_
我有一个名为 myProtos 的库,它看起来像这样 . |-- proto |---- hello.proto | |-- generated └---- hello.pb.go 我在外部有一个名为
我想知道如何正确引用外部原型(prototype)文件。假设我有一个引用标准 protobuf 类型的 .proto 文件,例如 Timestamp : syntax = "proto3"; pack
我是 Google Protobuf 新手。我想解决一个问题,但在互联网上找不到答案,也许我问错了问题.. 我想构建一个使用 .proto 模式(和生成的类)的工具,并将输入字符串从可读字符串转换为
我有这个问题: grpc_tools._protoc_compiler.ProtocErrors: google/protobuf/timestamp.proto:-1:0 error: File n
软件环境:Win10,Goland。 去版本:go1.9.1 windows/amd64.协议(protocol)——版本:libprotoc 3.5.1当我执行命令时。结果如下 protoc -I
我正在使用 Android Studio 来处理 tomahawk-android项目,所以我使用 git 将该项目直接克隆到 Android Studio 中,但无法构建,并显示; Could no
一 点睛 可以在 proto 中定义多个类,然后从中选择任意一个类,可以在 proto 中定义多个 message,然后再将多个 message 以枚举的形式供使用时选择。 二 实战 1 proto
我在不同的 go 包下编译了 2 个 proto,但是当我在服务器中注册它们并运行它时,我得到: panic: proto: file "common.proto" is already regist
perl6 如何决定哪个 proto token先匹配? 下面的代码按预期工作,它匹配字符串 1234 , 和 Grammar::Tracer显示匹配的第一个标记是 s:sym ,这是有道理的,因为它
我有 2 个 grpc 服务( service1 和 service2 ),它们相互交互,在某些情况下,service1 的 rpc 响应will 由 service2 中定义的结构组成,在经历了不可
我有一个 MyResponse.proto 文件,它导入两个 .proto 文件 Alternative.proto 和 Index.proto >. MyResponse.proto 文件: imp
我有一个非常简单的 android 应用程序,它使用 protobuf 从服务器获取数据,然后让用户浏览数据树(简化) 现在我只想在我的结构中使用这些数据,所以我使用 protobuf 回复(通过自动
我有两个服务:Story 和 Tag。这些文件的结构如下: Story |-- StoryService | `-- proto | `-- storyservice.proto `-
对于 CPP 编程,我在 .proto 文件中定义了一个 enum,我必须在另一个 .proto 文件中使用相同的枚举。 //first.proto package A; enum foo {
如果 protobuf 消息中的属性是第一个成员或第二个成员,有什么区别? 我拥有的 Request proto 消息有 2 个字段。我被要求交换属性的位置 message SomeRequest {
我正在使用 protobuf-net 的 ProtoBufTool 自定义工具从 .proto 文件生成 C# 类。到目前为止,我一直无法让原型(prototype)文件中的 import 语句使用相
我正在从事 AI 项目,但我在 Python 方面仍然不是很有经验。 我正在尝试 build and test this project . 我遵循了所有说明,但是当我尝试启动 python 脚本时仍
我有一个名为 Game 的对象,它具有名称、编号、团队等属性。它的许多属性本身就是对象:团队是团队对象的列表。例如,所有这些对象都具有使用 proto 定义的函数(不确定实际术语) Game.prot
我是一名优秀的程序员,十分优秀!