google protobuf的编译成jar包
编译的方法:最后使用的github中这个里面的README的最后一个方法.在非MAVEN的环境下,应该怎么去编译library呢?
使用下面的命令:
$ protoc –java_out=src/main/java -I../src \
../src/google/protobuf/descriptor.proto
我的资源是用 这里的source去编译的
最后执行完是很多.class文件,然后对.class进行打包咯
jar -cvf -c 包路径
参考链接
- 上面这个编译失败了,然后遇到的问题:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.3:
run (generate-sources) on project protobuf-java: An Ant BuildException has occur
ed: Execute failed: java.io.IOException: Cannot run program “..\src\protoc”: Cre
ateProcess error=2, 系统找不到指定的文件。 -> [Help 1]
解决方法:更改pom里面的配置 ,类似改成下面这样吧.
./src/protoc.exe
记得先要导入包proto.exe文件
- 第二个问题,处理方案.没有.github上问答也没有.然后我就放弃了.
[ERROR] /C:/Users/Administrator/Desktop/protobuf-master/java/core/src/main/java/
com/google/protobuf/Descriptors.java:[33,1] 程序包com.google.protobuf.Descriptor
Protos不存在
[ERROR] /C:/Users/Administrator/Desktop/protobuf-master/java/core/src/main/java/
com/google/protobuf/Descriptors.java:[78,12] 找不到符号
[ERROR] 符号: 类 FileDescriptorProto
[ERROR] 位置: 类 com.google.protobuf.Descriptors.FileDescriptor
[ERROR] /C:/Users/Administrator/Desktop/protobuf-master/java/core/src/main/java/
com/google/protobuf/Descriptors.java:[108,12] 找不到符号
[ERROR] 符号: 类 FileOptions
[ERROR] 位置: 类 com.google.protobuf.Descriptors.FileDescriptor
[ERROR] /C:/Users/Administrator/Desktop/protobuf-master/java/core/src/main/java/
com/google/protobuf/Descriptors.java:[266,50] 找不到符号
[ERROR] 符号: 类 FileDescriptorProto
[ERROR] 位置: 类 com.google.protobuf.Descriptors.FileDescriptor
[ERROR] /C:/Users/Administrator/Desktop/protobuf-master/java/core/src/main/java/
com/google/protobuf/Descriptors.java:[288,15] 找不到符号
[ERROR] 符号: 类 FileDescriptorProto
[ERROR] 位置: 类 com.google.protobuf.Descriptors.FileDescriptor
[ERROR] /C:/Users/Administrator/Desktop/protobuf-master/java/core/src/main/java/
com/google/protobuf/Descriptors.java:[437,13] 找不到符号
[ERROR] 符号: 类 FileDescriptorProto
[ERROR] 位置: 类 com.google.protobuf.Descriptors.FileDescriptor
[ERROR] /C:/Users/Administrator/Desktop/protobuf-master/java/core/src/main/java/
com/google/protobuf/Descriptors.java:[446,34] 找不到符号
[ERROR] 符号: 类 FileDescriptorProto
[ERROR] 位置: 类 com.google.protobuf.Descriptors.FileDescriptor
[ERROR] /C:/Users/Administrator/Desktop/protobuf-master/java/core/src/main/java/
com/google/protobuf/Descriptors.java:[552,33] 找不到符号
[ERROR] 符号: 类 FileDescriptorProto
[ERROR] 位置: 类 com.google.protobuf.Descriptors.FileDescriptor
[ERROR] /C:/Users/Administrator/Desktop/protobuf-master/java/core/src/main/java/
com/google/protobuf/Descriptors.java:[598,12] 找不到符号
[ERROR] 符号: 类 DescriptorProto
[ERROR] 位置: 类 com.google.protobuf.Descriptors.Descriptor
[ERROR] /C:/Users/Administrator/Desktop/protobuf-master/java/core/src/main/java/
com/google/protobuf/Descriptors.java:[634,12] 找不到符号
[ERROR] 符号: 类 MessageOptions
[ERROR] 位置: 类 com.google.protobuf.Descriptors.Descriptor
[ERROR] /C:/Users/Administrator/Desktop/protobuf-master/java/core/src/main/java/
com/google/protobuf/Descriptors.java:[760,13] 找不到符号
[ERROR] 符号: 类 DescriptorProto
[ERROR] 位置: 类 com.google.protobuf.Descriptors.Descriptor
[ERROR] /C:/Users/Administrator/Desktop/protobuf-master/java/core/src/main/java/
com/google/protobuf/Descriptors.java:[796,30] 找不到符号
[ERROR] 符号: 类 DescriptorProto
[ERROR] 位置: 类 com.google.protobuf.Descriptors.Descriptor
[ERROR] /C:/Users/Administrator/Desktop/protobuf-master/java/core/src/main/java/
com/google/protobuf/Descriptors.java:[867,33] 找不到符号
[ERROR] 符号: 类 DescriptorProto
[ERROR] 位置: 类 com.google.protobuf.Descriptors.Descriptor
[ERROR] /C:/Users/Administrator/Desktop/protobuf-master/java/core/src/main/java/
com/google/protobuf/Descriptors.java:[903,12] 找不到符号
[ERROR] 符号: 类 FieldDescriptorProto
[ERROR] 位置: 类 com.google.protobuf.Descriptors.FieldDescriptor
[ERROR] /C:/Users/Administrator/Desktop/protobuf-master/java/core/src/main/java/
com/google/protobuf/Descriptors.java:[1040,12] 找不到符号
[ERROR] 符号: 类 FieldOptions
[ERROR] 位置: 类 com.google.protobuf.Descriptors.FieldDescriptor
[ERROR] /C:/Users/Administrator/Desktop/protobuf-master/java/core/src/main/java/
上面第二个问题参考链接:http://java711.blog.51cto.com/1786533/1588053
- 问题3 出现Permission denied 没有权限错误是 ,就添加到环境变量中,,方法参照下面链接