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
    



  • 相关阅读:
    手机Web开发框架
    HTML5内置邮箱验证属性
    HTML4 和 HTML5 的10个关键区别
    wampserver 2.5 首页链接问题
    sublime text 2 配置php调试环境
    Github在Windows下使用流程介绍
    PHP中echo()、print()、print_r()、var_dump()的区别
    Web前端开发神器 Intellij IDEA
    【转】Java内存管理
    Android学习记录
  • 原文地址:https://www.cnblogs.com/Donal/p/2385311.html
Copyright © 2011-2022 走看看