win10+google protobuffer +IDEA的配置
2019-05-24 17:01
246 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_42112064/article/details/90519594
一、下载google-protoc for win的zip包(https://github.com/protocolbuffers/protobuf)
二、配置环境标量,在CMD里使用protoc --version查看
三、在IDEA里安装protobuf support插件
四、在工程的main目录下新建一个文件夹,用来存放.proto的文件。然后把该文件夹Mark directory as sources root
参考:window下配置protobuf在IDEA上开发java项目(https://www.jianshu.com/p/cf788d366f67)
五、我的pom.xml:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>kimi</groupId> <artifactId>NettyDemo1</artifactId> <version>1.0-SNAPSHOT</version> <packaging>war</packaging> <name>NettyDemo1 Maven Webapp</name> <!-- FIXME change it to the project's website --> <url>http://www.example.com</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.7</maven.compiler.source> <maven.compiler.target>1.7</maven.compiler.target> <grpc.version>1.21.0</grpc.version> <protobuf.version>3.3.0</protobuf.version> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </dependency> <!-- https://mvnrepository.com/artifact/io.netty/netty-all --> <dependency> <groupId>io.netty</groupId> <artifactId>netty-all</artifactId> <version>4.1.10.Final</version> </dependency> <!-- https://mvnrepository.com/artifact/com.github.os72/protoc-jar --> <!--<dependency>--> <!--<groupId>com.github.os72</groupId>--> <!--<artifactId>protoc-jar</artifactId>--> <!--<version>3.3.0</version>--> <!--</dependency>--> <!-- https://mvnrepository.com/artifact/com.google.protobuf/protobuf-java --> <dependency> <groupId>com.google.protobuf</groupId> <artifactId>protobuf-java</artifactId> <version>3.3.0</version> </dependency> <!-- https://mvnrepository.com/artifact/com.google.protobuf/protobuf-java-util --> <dependency> <groupId>com.google.protobuf</groupId> <artifactId>protobuf-java-util</artifactId> <version>3.3.0</version> </dependency> <!-- https://mvnrepository.com/artifact/com.googlecode.protobuf-java-format/protobuf-java-format --> <dependency> <groupId>com.googlecode.protobuf-java-format</groupId> <artifactId>protobuf-java-format</artifactId> <version>1.4</version> </dependency> <!-- https://mvnrepository.com/artifact/io.grpc/grpc-netty --> <dependency> <groupId>io.grpc</groupId> <artifactId>grpc-netty</artifactId> <version>1.21.0</version> </dependency> <!-- https://mvnrepository.com/artifact/io.grpc/grpc-protobuf --> <dependency> <groupId>io.grpc</groupId> <artifactId>grpc-protobuf</artifactId> <version>1.21.0</version> </dependency> <!-- https://mvnrepository.com/artifact/io.grpc/grpc-stub --> <dependency> <groupId>io.grpc</groupId> <artifactId>grpc-stub</artifactId> <version>1.21.0</version> </dependency> </dependencies> <build> <finalName>NettyDemo1</finalName> <extensions> <extension> <groupId>kr.motd.maven</groupId> <artifactId>os-maven-plugin</artifactId> <version>1.5.0.Final</version> </extension> </extensions> <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) --> <plugins> <plugin> <artifactId>maven-clean-plugin</artifactId> <version>3.1.0</version> </plugin> <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging --> <plugin> <artifactId>maven-resources-plugin</artifactId> <version>3.0.2</version> </plugin> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.0</version> </plugin> <plugin> <artifactId>maven-surefire-plugin</artifactId> <version>2.22.1</version> </plugin> <plugin> <artifactId>maven-war-plugin</artifactId> <version>3.2.2</version> </plugin> <plugin> <artifactId>maven-install-plugin</artifactId> <version>2.5.2</version> </plugin> <plugin> <artifactId>maven-deploy-plugin</artifactId> <version>2.8.2</version> </plugin> </plugins> </pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> <plugin> <groupId>org.xolstice.maven.plugins</groupId> <artifactId>protobuf-maven-plugin</artifactId> <version>0.5.0</version> <configuration> <protocArtifact>com.google.protobuf:protoc:${protobuf.version}:exe:${os.detected.classifier}</protocArtifact> <pluginId>grpc-java</pluginId> <pluginArtifact>io.grpc:protoc-gen-grpc-java:${grpc.version}:exe:${os.detected.classifier}</pluginArtifact> </configuration> <executions> <execution> <goals> <goal>compile</goal> <goal>compile-custom</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </project>
还有其他方法,参照:使用Maven插件整合protocol buffer(https://blog.csdn.net/qq_27273089/article/details/70230897)
六、选择protobuf:compile
七、生成的文件在target/generated-sources/protobuf/java/包名下
(或者在控制台输入:protoc --java_out=src/main/java src/main/proto/student.proto
)
相关文章推荐
- 双网卡 NAT配置
- iis + php5.3.2配置
- Spring配置文件各个属性详解
- 实现Zend Optimizer 和 Zend Debugger 共存,配置php.ini文件的方法
- Siebel——EBC创建、Client数据端配置
- CVS配置使用
- 配置WEB站点的虚拟目录
- VS2005 下VTK的配置过程(亲自验证)
- udhcpc动态获取ip配置
- Tomcat 6中配置SSL双向认证
- Linux环境下USB的原理、驱动和配置
- apache配置方法-实现html,shtml文件的include命令
- MySQL数据库服务器端核心参数详解和推荐配置之一
- 配置vs2008和udk与nFringe
- 在centos 下安装配置基于gitosis 的git 服务
- Tomcat7配置数据源
- phpmyadmin的安装配置
- Torque在Linux集群上的安装配置 分享
- Linux下Wi-Fi配置工具2
- 论软件配置管理中人的因素