You are correct. That fixed the problem. Thank you for the help. Jacques
On Feb 24, 2:38 pm, Jason Hsueh <jas...@google.com> wrote: > I believe you should be running protoc from the same directory, using the > same --proto_path, for both commands. The imports should be relative to the > common root directory. > modify the import in project2\proto\TaskProtos.proto: > import "project1/proto/ProtoException.proto" > > $ protoc --proto_path=. project1\proto\*.proto ... > $ protoc --proto_path=. project2\proto\*.proto ... > > On Wed, Feb 24, 2010 at 2:13 PM, pipfiddle <jacquesnad...@gmail.com> wrote: > > I'm having trouble with an import and can't figure out the problem. > > I'm working in Java and am using the 2.3.0 release of protobuf (just > > upgraded from 2.2.0 trying to solve the problem). I'm working on > > windows. (Running protoc.exe from cygwin using forward slashes for > > the commands below shows the same behavior.) > > > The situation is as follows: > > > I have a library with a message type (ExceptionWrapper) in it. > > I have a separate project where one of the protobuf message types > > (Task) needs to import the library proto. > > > When I try to run the compiled java code created for the message type > > with the import, I get an error as attached below. > > > I've seen the posts which say this kind of error has to do with > > incorrect -I/proto-path parameters but I'm not clear what exactly I'm > > doing wrong. > > > The command i run to generate the java files is as follows: > > > [lib -- from project1 root] protoc proto\*.proto > > -- > > java_out=src > > [importing file -- from project2 root] protoc proto\*.proto -- > > java_out=src -I=proto -I=..\project1\proto > > > obviously, the lib file shouldn't be dependent on the importing file > > so the two commands are different. I've also attached the example > > code from the two proto files. > > > Any help would be greatly appreciated. > > > Thanks, > > Jacques > > > ----------------Error Message------------------ > > Exception in thread "main" java.lang.ExceptionInInitializerError > > at com.example.bus.TaskProtos$Task.<clinit>(TaskProtos.java: > > 436) > > at com.example.bus.ExampleTest.main(ExampleTest.java:8) > > Caused by: java.lang.IllegalArgumentException: Invalid embedded > > descriptor for "TaskProtos.proto". > > at com.google.protobuf.Descriptors > > $FileDescriptor.internalBuildGeneratedFileFrom(Descriptors.java:286) > > at com.example.bus.TaskProtos.<clinit>(TaskProtos.java:1089) > > ... 2 more > > Caused by: com.google.protobuf.Descriptors > > $DescriptorValidationException: TaskProtos.proto: Dependencies passed > > to FileDescriptor.buildFrom() don't match those listed in the > > FileDescriptorProto. > > at com.google.protobuf.Descriptors > > $FileDescriptor.buildFrom(Descriptors.java:231) > > at com.google.protobuf.Descriptors > > $FileDescriptor.internalBuildGeneratedFileFrom(Descriptors.java:284) > > ... 3 more > > > --------------Example Base File: "project1\proto\ProtoException.proto" > > ----------------- > > package exception; > > > option java_package = "com.example.im"; > > option java_outer_classname = "ProtoException"; > > > message ExceptionWrapper { > > optional string exception_class = 1; > > } > > > --------------Example Importing File: "project2\proto > > \TaskProtos.proto" ----------------- > > package input; > > > option java_package = "com.example.bus"; > > option java_outer_classname = "TaskProtos"; > > > import "ProtoException.proto"; > > > message Task { > > optional exception.ExceptionWrapper exception = 3; > > } > > > -- > > You received this message because you are subscribed to the Google Groups > > "Protocol Buffers" group. > > To post to this group, send email to proto...@googlegroups.com. > > To unsubscribe from this group, send email to > > protobuf+unsubscr...@googlegroups.com<protobuf%2bunsubscr...@googlegroups.com> > > . > > For more options, visit this group at > >http://groups.google.com/group/protobuf?hl=en. -- You received this message because you are subscribed to the Google Groups "Protocol Buffers" group. To post to this group, send email to proto...@googlegroups.com. To unsubscribe from this group, send email to protobuf+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/protobuf?hl=en.