Maven 无法在Windows上安装protoc

Maven 无法在Windows上安装protoc,maven,protocol-buffers,protobuf-net,proto,Maven,Protocol Buffers,Protobuf Net,Proto,我发现构建protocjar存在问题,protocjar用于从proto文件生成java类文件。我非常感谢任何指导或帮助,将项目设置到可以从.proto文件生成java类文件的级别 我已从导入以下项目,但在项目目录中找不到protoc.exe文件 项目本身抱怨无法引用某些类 当我尝试用maven编译和构建protobuf父项目时,我得到了如下所示的错误 main: [INFO] ----------------------------------------------------------

我发现构建protocjar存在问题,protocjar用于从proto文件生成java类文件。我非常感谢任何指导或帮助,将项目设置到可以从.proto文件生成java类文件的级别

我已从导入以下项目,但在项目目录中找不到protoc.exe文件

项目本身抱怨无法引用某些类

当我尝试用maven编译和构建protobuf父项目时,我得到了如下所示的错误

main:
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] 
[INFO] Protocol Buffers [Parent] .......................... SUCCESS [  0.173 s]
[INFO] Protocol Buffers [Core] ............................ FAILURE [  0.736 s]
[INFO] Protocol Buffers [Util] ............................ SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.347 s
[INFO] Finished at: 2017-08-30T20:52:49-07:00
[INFO] Final Memory: 16M/220M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.8:run (compile-protoc) on project protobuf-java: An Ant BuildException has occured: C:\scratch1\protobuf\protobuf-master\java\core\src\main\proto does not exist.
[ERROR] around Ant part ...<pathconvert property="proto.files" pathsep=" " refid="proto.path"/>... @ 10:71 in C:\scratch1\protobuf\protobuf-master\java\core\target\antrun\build-main.xml
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
main:
[信息]------------------------------------------------------------------------
[信息]反应堆概要:
[信息]
[信息]协议缓冲区[父项]。。。。。。。。。。。。。。。。。。。。。。。。。。成功[0.173秒]
[信息]协议缓冲区[核心]。。。。。。。。。。。。。。。。。。。。。。。。。。。。故障[0.736秒]
[INFO]协议缓冲区[Util]。。。。。。。。。。。。。。。。。。。。。。。。。。。。跳过
[信息]------------------------------------------------------------------------
[信息]生成失败
[信息]------------------------------------------------------------------------
[信息]总时间:2.347秒
[信息]完成时间:2017-08-30T20:52:49-07:00
[信息]最终内存:16M/220M
[信息]------------------------------------------------------------------------
[错误]无法执行目标org.apache.maven.plugins:maven-antrun-plugin:1.8:在protobuf java项目上运行(编译protoc):发生Ant构建异常:C:\scratch1\protobuf\protobuf-master\java\core\src\main\proto不存在。
[错误]蚂蚁部分周围……@C:\scratch1\protobuf\protobuf master\java\core\target\antrun\build-main.xml中的10:71
[错误]->[帮助1]
[错误]
[错误]要查看错误的完整堆栈跟踪,请使用-e开关重新运行Maven。
[错误]使用-X开关重新运行Maven以启用完整调试日志记录。
[错误]
[错误]有关错误和可能的解决方案的更多信息,请阅读以下文章:
[错误][帮助1]http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

我建议您在Windows上使用预编译的protoc.exe二进制文件。

解压文件您应该获得如下文件夹(仅列出少数关键文件):

使用Maven编译java项目,请参阅以下帮助程序bat脚本:

cd C:\projects\protoc\protobuf-x.x.x\java
set JAVA_HOME=c:\program files\Java\jdk1.7.0_75
"c:\apps\apache-maven\bin\mvn.cmd" "-Dprotobuf.source.dir=C:\projects\protoc\protoc-x.x.x-win32\bin" package
您应该在以下文件夹中找到jar文件,这些是您在使用MyStructureProto.java或其他protobuf对象(字节到对象,对象到字节)时嵌入到项目中的文件

使用protoc.exe从.proto模板描述符创建java实现:

C:\projects\protoc\protoc-x.x.x-win32\bin\protoc.exe --java_out=. MyStructureProto.proto
C:\projects\protoc\protoc-x.x.x\java\core\target\protobuf-java-3.3.0.jar
C:\projects\protoc\protoc-x.x.x\java\util\target\protobuf-java-util-3.3.0.jar
C:\projects\protoc\protoc-x.x.x-win32\bin\protoc.exe --java_out=. MyStructureProto.proto