Maven & Protobuf compile error: Cannot find symbol in package com.google.protobuf
java, maven, maven-2, maven-3, protocol-buffers
Solution
I had the same problem. building the protobuf sources from google directly (I used 2.5.0) and doing
mvn install:install-file -Dpackaging=jar -DgeneratePom=true -DgroupId=com.google.protobuf -DartifactId=protobuf-java -Dfile=protobuf-java-2.5.0.jar -Dversion=2.5.0
fixed the problem for me.
In my earlier trials I noticed, that the jar-file in /root/.m2/repository/com/google/protobuf/protobuf-java/2.5.0/ was missing.
Maybe try to use version 2.5.0 in the pom.xml and/or copying the jarfile manually.
cheers
Problem
I'm new to Linux and Protobuf.. I need help. I'm trying to "mvn package" a project that contains many ".proto" files, and a pom.xml file of course... I'm working on Ubuntu ======================================= ERROR When I run "mvn package", I receive this error: after ``` ... Compiling 11 source files to .../target/classes ... ``` I get a bunch of these errors: ``` [ERROR] .../target/generated-sources/...java:[16457,30] cannot find symbol [ERROR] symbol : class Parser [ERROR] location: package com.google.protobuf [ERROR] [ERROR] .../target/generated-sources/...java:[17154,37] cannot find symbol [ERROR] symbol : class Parser [ERROR] location: package com.google.protobuf [ERROR] [ERROR] .../target/generated-sources/...java:[17165,30] cannot find symbol [ERROR] symbol : class Parser [ERROR] location: package com.google.protobuf [ERROR] [ERROR] .../target/generated-sources/...java:[17909,37] cannot find symbol [ERROR] symbol : class Parser [ERROR] location: package com.google.protobuf [ERROR] ``` ======================================= POM Here is the pom.xml file, with groupId & artifactId taken out: ``` <project> <modelVersion>4.0.0</modelVersion> <parent> <groupId>*****</groupId> <artifactId>*****</artifactId> <version>1.0-SNAPSHOT</version> </parent> <artifactId>*****</artifactId> <version>1.0-SNAPSHOT</version> <properties> <proto.cas.path>${project.basedir}/src</proto.cas.path> <target.gen.source.path>${project.basedir}/target/generated-sources</target.gen.source.path> </properties> <dependencies> <dependency> <groupId>com.google.protobuf</groupId> <artifactId>protobuf-java</artifactId> <version>2.4.1</version> <scope>compile</scope> </dependency> </dependencies> <build> <sourceDirectory>${project.basedir}/src</sourceDirectory> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>2.0.2</version> <configuration> <source>1.6</source> <target>1.6</target> <includes><include>**/commonapps/**</include></includes> </configuration> </plugin> <plugin> <artifactId>maven-antrun-plugin</artifactId> <executions> <execution> <id>generate-sources</id> <phase>generate-sources</phase> <configuration> <tasks> <mkdir dir="${target.gen.source.path}" /> <path id="proto.path.files"> <fileset dir="${proto.cas.path}"> <include name="*.proto" /> </fileset> </path> <pathconvert pathsep=" " property="proto.files" refid="proto.path.files" /> <exec executable="protoc"> <arg value="--java_out=${target.gen.source.path}" /> <arg value="--proto_path=${proto.cas.path}" /> <arg line="${proto.files}" /> </exec> </tasks> <sourceRoot>${target.gen.source.path}</sourceRoot> </configuration> <goals> <goal>run</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </project> ``` ======================================= PROTOBUF INSTALLATION I've done ``` ./configure make make check make install ``` in protobuf/, and ``` mvn test mvn install mvn package ``` in protobuf/java. I took the jar in protobuf/java/target and added it to my maven repo by running: ``` mvn install:install-file -Dpackaging=jar -DgeneratePom=true -DgroupId=com.google.protobuf -DartifactId=protobuf-java -Dfile=protobuf-java-2.4.1.jar -Dversion=2.4.1 ``` Note that I've messed around with $LD_LIBRARY_PATH. Currently when I run echo it, I get: ``` /usr/local/lib/:/usr/:/usr/lib/:/usr/local/ ``` yeah.... as you can tell I don't have a clue about setting $LD_LIBRARY_PATH I also ran: ``` apt-get install protobuf-compiler ``` ======================================= PROTOC INSTALLATION I forgot what I did to make protoc work, but when I run ``` protoc --version ``` I get ``` libprotoc 2.5.0 ``` ======================================= MY QUESTION IS SIMILAR TO: Problems using protobufs with java and scala maven compilation failure ======================================= POSSIBLE RELEVANCE? still not find package, after 'mvn install' http://www.scriptol.com/programming/protocol-buffers-tutorial.php Can anyone help? ======================================= PROGRESS Apparently it's a plugin failure: https://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException ``` [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.0.2:compile (default-compile) on project casprotobuf: Compilation failure: Compilation failure: ```