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
=======================================
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]
=======================================
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>
=======================================
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
=======================================
I forgot what I did to make protoc work, but when I run
protoc --version
I get
libprotoc 2.5.0
=======================================
Problems using protobufs with java and scala
maven compilation failure
=======================================
still not find package, after 'mvn install'
http://www.scriptol.com/programming/protocol-buffers-tutorial.php
Can anyone help?
=======================================
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:
Maven is a popular open-source build tool developed by the Apache Group to build, publish, and deploy several projects at once for better project management. The tool provides allows developers to build and document the lifecycle framework.
Definition of maven : one who is experienced or knowledgeable : expert a language maven policy mavens computer mavens also : freak sense 4a.
What is Maven? Maven is a project management and comprehension tool that provides developers a complete build lifecycle framework. Development team can automate the project's build infrastructure in almost no time as Maven uses a standard directory layout and a default build lifecycle.
Why Use Maven to Manage Selenium Dependency? Maven can easily handle the entire lifecycle of a project which can include code generation, compilation, testing, validation, packaging, and much more. It works in phases rather than tasks and makes the build management process much easier.
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
I had this problem when there was a mismatch between the protoc version installed and the version listed in the pom. Matching the versions fixed the problem. In my case, I had to switch my protoc version back to 2.4.1 to match the POM.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With