2017-08-31 5 views
0

Je trouve des problèmes avec la construction de jar de protocole qui est destiné à générer des fichiers de classe java à partir de fichiers proto. J'apprécierais vraiment toute sorte de direction ou d'aide dans la configuration du projet à un niveau où je peux générer des fichiers de classe java à partir de fichiers .protoImpossible d'installer protoc sur Windows

J'ai importé les projets suivants de protobuf git repo, mais j'ai été incapable de trouver le Fichier protoc.exe dans les répertoires du projet.

enter image description here

Les projets se plaignent de ne pas être en mesure de faire référence à certaines classes. enter image description here

Quand j'ai essayé la compilation et la construction du projet protobuf-parent avec Maven, je reçois des erreurs comme indiqué ci-dessous

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 

Répondre

1

Je vous recommande d'utiliser un fichier binaire précompilé protoc.exe sous Windows. Download protoc-x.x.x-win32.zip and protoc-x.x.x-java.zip packages

Décompressez les fichiers que vous devriez obtenir un dossier comme celui-ci (liste seulement quelques fichiers clés):

C:\projects\protoc\protoc-x.x.x-win32\bin\protoc.exe 
C:\projects\protoc\protoc-x.x.x\protobuf.pc.in 
C:\projects\protoc\protoc-x.x.x\java\pom.xml 
C:\projects\protoc\protoc-x.x.x\java\core\* 
C:\projects\protoc\protoc-x.x.x\java\util\* 

Compile projet java en utilisant Maven, voir ce script bat aide:

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 

Vous devrait trouver les fichiers jar dans les dossiers suivants, ce sont les fichiers que vous intégrez à votre projet lors de l'utilisation de MyStructureProto.java ou d'autres objets protobuf (octets à objet, objet à octets).

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 

Utilisez protoc.exe pour créer implémentation Java de descripteur de modèle .proto:

C:\projects\protoc\protoc-x.x.x-win32\bin\protoc.exe --java_out=. MyStructureProto.proto