zoukankan      html  css  js  c++  java
  • 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
    



  • 相关阅读:
    《互联网时代》第三集·能量
    《互联网时代》第二集·浪潮
    java 基础类库之 SysFun
    java 基础类库之 SQLFun
    java 基础类库之 FormatFun
    Java 之 JDBC
    WepE
    MySql学习笔记
    Oracle学习笔记——点滴汇总
    Linux学习笔记——基于鸟哥的Linux私房菜
  • 原文地址:https://www.cnblogs.com/Donal/p/2385311.html
Copyright © 2011-2022 走看看