Автоматически генерировать Java из .proto с помощью maven / m2e в Eclipse IDE
Для моей команды я бы хотел настроить сборку maven / eclipse для автоматической генерации кода Java из*.proto
файлы (в проекте, который используетКПГР). В настоящее время нужно бежатьmvn generate-source
или жеmvn protobuf:compile
(как в плагинестраница использования). Или что то же самое добавить запустить конфигурацию, чтобы вызвать Maven целиcompile
.
Всякий раз, когда проект Eclipse Maven обновляется (Alt+F5) или IDE перезапускается, проект перестраивается, но без того, что должно появиться вtarget/generated
превращая проект в красный. Поэтому нужно создать и обновить проект (F5). ОБНОВЛЕНИЕ Eclipse необходимы исходные папки, настроенные в.clathpath
файл.
Как я знаю, это должен быть разъем m2e, но я мог найти только одинhttps://github.com/masterzen/m2e-protoc-connector для самого старого Googles plugin com.google.protobuf.tools:maven-protoc-plugin
это даже не упоминается в настоящее время вhttps://github.com/grpc/grpc-java
Мы используем точно по ссылке / рекомендуется
<groupId>org.xolstice.maven.plugins</groupId>
<artifactId>protobuf-maven-plugin</artifactId>
то есть:
<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>
Связанные с:
Ссылка на сгенерированный Java-протобуф-код в Eclipseпосмотрел на это, но этот автор использовал другой, более не поддерживаемый плагин:Цикл сборки Eclipse, вызванный сгенерированным протоколом protobuf (связан с Maven Project Builder)P.P.S Этот плагинhttps://github.com/igor-petruk/protobuf-maven-plugin однако имеет продолжение какhttps://github.com/os72/protoc-jar-maven-plugin