Genere automáticamente Java desde .proto con maven / m2e en Eclipse IDE
Para mi equipo, me gustaría configurar la compilación maven / eclipse para generar automáticamente código Java desde*.proto
archivos (en un proyecto que usagRPC) Actualmente uno necesita corrermvn generate-source
omvn protobuf:compile
(como en el complementopágina de uso) O lo que es lo mismo agregar configuración de ejecución para invocar el objetivo de Mavencompile
.
Cada vez que se actualiza el proyecto Eclipse Maven (Alt+F5) o se reinicia IDE, el proyecto se reconstruye pero sin lo que debería aparecer entarget/generated
, convirtiendo así el proyecto en rojo. Entonces uno necesita generar y actualizar el proyecto (F5) ACTUALIZACIÓN Eclipse ha necesitado carpetas de origen configuradas en.clathpath
archivo.
Como sé, ese debería ser el conector m2e, pero solo pude encontrar unohttps://github.com/masterzen/m2e-protoc-connector para el Google más antiguos plugin com.google.protobuf.tools:maven-protoc-plugin
, eso incluso no se menciona actualmente enhttps://github.com/grpc/grpc-java
Utilizamos exactamente referenciado / recomendado
<groupId>org.xolstice.maven.plugins</groupId>
<artifactId>protobuf-maven-plugin</artifactId>
es decir:
<build>
<extensions>
<extension>
<groupId>kr.motd.maven</groupId>
<artifactId>os-maven-plugin</artifactId>
<version>1.4.1.Final</version>
</extension>
</extensions>
<plugins>
<plugin>
<groupId>org.xolstice.maven.plugins</groupId>
<artifactId>protobuf-maven-plugin</artifactId>
<version>0.5.0</version>
<configuration>
<protocArtifact>com.google.protobuf:protoc:3.1.0:exe:${os.detected.classifier}</protocArtifact>
<pluginId>grpc-java</pluginId>
<pluginArtifact>io.grpc:protoc-gen-grpc-java:1.0.1:exe:${os.detected.classifier}</pluginArtifact>
</configuration>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>compile-custom</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
Relacionado:
Vinculación al código de protobuf Java generado en Eclipsemiré esto pero ese autor estaba usando otro plugin más antiguo, no compatible ahora:Eclipse build loop causado por el código generado por protobuf (relacionado con Maven Project Builder)P.P.S Ese complementohttps://github.com/igor-petruk/protobuf-maven-plugin sin embargo tiene continuación comohttps://github.com/os72/protoc-jar-maven-plugin