我正在尝试将Java协议缓冲区用于Java(我是Java的新手,只是尝试)。
首先,我正在使用OSX,并且已经使用brew install protobuf
命令安装了协议缓冲区。
protoc命令工作正常。
我已经通过protoc生成了MyProtocol.java
。
我已经为Java安装了协议缓冲区作为其指令(README.txt)。
mvn install
命令创建了.m2
目录,我可以在目录中的某处找到protobuf-java-2.4.1.jar
文件。
我编写了简单的测试Java代码,只是导入MyProtocol.java
并且抱怨无法找到包com.google.protobuf
。
所以,我只是制作jar文件mvn package
并将其目录添加为CLASSPATH并且编译得很好。
javac -classpath <protobuf-dir>/jara/target/classes Test.java ./com/example/tutorial/AddressBookProtos.java
如果我使用maven的存储库目录(~/.m2/repository
),它会再次抱怨。
如果我安装软件包,maven不会为我制作CLASSPATH吗? 如果没有,我如何使用maven安装的软件包编译我的代码?
答案 0 :(得分:2)
Maven Dependency Plugin有一个名为build-classpath
的目标,可以满足您的需求。您可以获得使用提示on the Usage page