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.
For more options, visit this group at 
http://groups.google.com/group/protobuf?hl=en.

Reply via email to