protobuf 测试 & ant build.xml

前面测试完了protobuf的c++tutorial,接着测试一下java tutorial,已经ant的build.xml文件编写。

根据./proto/目录下的addressbook.proto( 内容请参考tutorial)生成.java文件,放到./java/src目录下

$ protoc -I=./proto --java_out=./java/src ./proto/addressbook.proto

在 ./java/src 目录下

$ cd ./java/src

编写Reader.java 和 Writer.java( 内容请参考tutorial

在.java/目录下,编写build.xml文件,关于build.xml的编写,请参考这里

$ cd ..
$ cat build.xml
<project name="ProtoTest" basedir="." default="main">

    <property name="src.dir"     value="src"/>

    <property name="build.dir"   value="build"/>
    <property name="classes.dir" value="${build.dir}/classes"/>
    <property name="jar.dir"     value="${build.dir}/jar"/>
    <property name="lib.dir"     value="lib"/>

    <path id="classpath">
        <fileset dir="${lib.dir}" includes="**/*.jar"/>
    </path>


    <target name="clean">
        <delete dir="${build.dir}"/>
    </target>

    <target name="compile">
        <mkdir dir="${classes.dir}"/>
        <javac srcdir="${src.dir}" destdir="${classes.dir}" classpathref="classpath"/>
    </target>

    <target name="jar" depends="compile">
        <mkdir dir="${jar.dir}"/>
        <jar destfile="${jar.dir}/${ant.project.name}.jar" basedir="${classes.dir}">
        </jar>
    </target>

    <target name="clean-build" depends="clean,jar"/>

</project>

生成ProtoTest.jar

$ant jar

测试 ListPeople和AddPerson类

$ java -classpath ./build/jar/ProtoTest.jar:./lib/protobuf-java-2.4.1.jar AddPerson address.txt
Enter person ID number: 01
Enter name: donal
Enter email address (blank for none): donal0412@gmail.com
Enter a phone number (or leave blank to finish): 88236017
Is this a mobile, home, or work phone? work
Enter a phone number (or leave blank to finish): 
$ java -classpath ./build/jar/ProtoTest.jar:./lib/protobuf-java-2.4.1.jar ListPeople address.txt
Person ID: 1
  Name: donal
  E-mail address: donal0412@gmail.com
  Work phone #: 88236017

测试java和c++程序通过文件通信

$ java -classpath ./build/jar/ProtoTest.jar:./lib/protobuf-java-2.4.1.jar ListPeople ../cpp/address.txt
Person ID: 1
  Name: donal
  E-mail address: donal0412@gmail.com
  Work phone #: 88236017
$ ../cpp/reader address.txt
Person ID: 1
  Name: donal
  E-mail address: donal0412@gmail.com
  Work phone #: 88236017



转载于:https://www.cnblogs.com/Donal/archive/2012/03/08/2385311.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值