如何通过Eclipse在Windows中构建Protobuf for Java

Dat*_*Chu 5 java eclipse windows

我下载源Protobuf zip文件.然后我打开我的Classic Eclipse并选择File-> Import-> Existing Maven Projects.

我选择根文件夹为/ java.它显示已勾选pom.xml,选择Next.

屏幕显示:Setup Maven插件连接器:with

maven-antrun-plugin:1.3:run (2 errors):
No marketplace entries found to handle maven-antrun-plugin:1.3:run in Eclipse. Please see Help for more information.
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么吗?

Jua*_*ado 6

您可以忽略该错误.但是当导入过程结束时你可能会得到:

生命周期配置未涵盖的插件执行:org.apache.maven.plugins:maven-antrun-plugin:1.3:run(执行:generate-sources,phase:generate-sources)

如果是这样,原因是您当前的配置不支持maven-antrun.您可以在此处找到相关问题:如何解决Spring Data Maven Builds的"生命周期配置未涵盖的插件执行"

可以在此处找到对该问题的解释:http://wiki.eclipse.org/M2E_plugin_execution_not_covered

简单的解决方法?将下一个代码块添加到pom.xml:

<pluginManagement>
  <plugins>
    <plugin>
      <groupId>org.eclipse.m2e</groupId>
      <artifactId>lifecycle-mapping</artifactId>
      <version>1.0.0</version>
      <configuration>
        <lifecycleMappingMetadata>
          <pluginExecutions>
            <pluginExecution>
              <pluginExecutionFilter>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-antrun-plugin</artifactId>
                <versionRange>[1.0.0,)</versionRange>
                <goals>
                  <goal>run</goal>
                </goals>
              </pluginExecutionFilter>
              <action>
                <execute>
                  <runOnIncremental>false</runOnIncremental>
                </execute>
              </action>
            </pluginExecution>
          </pluginExecutions>
        </lifecycleMappingMetadata>
      </configuration>
    </plugin>
  </plugins>
</pluginManagement>
Run Code Online (Sandbox Code Playgroud)

经过一些常规的更新Maven项目配置,清除并重建所有,pom问题消失.

但是,你可能会得到一些关于缺少类的错误.您必须下载 protoc二进制文件并为您在sources目录中找到的所有 .proto文件执行它.例:

protoc --java_out=src/main/java -I../src ..\ src\google\protobuf\descriptor.proto
Run Code Online (Sandbox Code Playgroud)