Protobuf-java maven配置

1. maven pom片断

          <!-- protobuf-java for maven plugin
                http://stackoverflow.com/questions/1578456/integrate-protocol-buffers-into-maven2-build

              Execute failed: java.io.IOException: Cannot run program "protoc":
              complile and install compiler the protoc:
                 # git clone https://github.com/google/protobuf
                 # ./autogen.sh
                 # ./configure
                 # make && make check
                 # sudo make install
              After all, compile a proto to java (== means two minus signs):
                 # protoc -I=$SRC_DIR ==java_out=$DST_DIR user.proto
            -->
            <plugin>
                <artifactId>maven-antrun-plugin</artifactId>
                <executions>
                    <execution>
                        <id>generate-sources</id>
                        <phase>generate-sources</phase>
                        <configuration>
                            <tasks>
                                <mkdir dir="src/main/java/avro/channel/protobuf"/>
                                <exec failonerror="true" executable="protoc">
                                    <arg value="--java_out=src/main/java/avro/channel/protobuf"/>
                                    <arg value="src/avro/user.proto"/>
                                </exec>
                            </tasks>
                            <sourceRoot>src/main/java/avro/channel/protobuf</sourceRoot>
                        </configuration>
                        <goals>
                            <goal>run</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
    <dependencies>
        <dependency>
            <groupId>com.google.protobuf</groupId>
            <artifactId>protobuf-java</artifactId>
            <version>${protobuf-java.version}</version>
        </dependency>
    </dependencies>

2. user.proto

option java_package = "avro.channel.protobuf";
option java_outer_classname = "Reg";

message User {
    required string ipaddr = 1;
    optional string cookie = 2;
    optional int64 token = 3;
}

3. 安装protobuf

1) 下载

https://github.com/google/protobuf/releases

$ wget --no-check-certificate https://github.com/google/protobuf/releases/download/v2.6.1/protobuf-2.6.1.tar.gz

2) 安装

$ tar -zxf protobuf-2.6.1.tar.gz

$ cd protobuf-2.6.1/

$ ./configure

$ make check

sudo make install

3) ubuntu下

$ sudo cd /etc/ld.so.conf.d/

$ sudo touch libprotobuf.conf

$ sudo echo "/usr/local/lib" >> libprotobuf.conf

$ sudo ldconfig

4) 检验

$ protoc --version

libprotoc 2.6.1

Protobuf-java maven配置的更多相关文章

  1. [Java] Maven 安装和配置

    1. 下载 Maven 在百度输入 Maven 搜索 ,找到它的官网(http://maven.apache.org/),点击进入下载页面. 下载页面地址: http://maven.apache.o ...

  2. Java 笔记——在 IDEA 中使用 Maven 配置和使用 MyBatis

    1.前言 MyBatis 是什么? MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射. MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集. ...

  3. java环境变量配置加maven配置

    1.安装JDK开发环境 下载网站:http://www.oracle.com/ 确定之后,单击“下一步”. 2.配置环境变量: 单击“计算机-属性-高级系统设置”,单击“环境变量”.在“系统变量”栏下 ...

  4. JAVA环境+eclipse+tomcat+maven配置

    1.JDK的安装 首先下载JDK,这个从sun公司官网可以下载,根据自己的系统选择64位还是32位,安装过程就是next一路到底.安装完成之后当然要配置环境变量了. ----------------- ...

  5. mac系统Intellij Idea的java环境配置:JDK + Tomcat + Maven

    一.JAVA JDK查看与配置 1.查看java路径详细信息: /usr/libexec/java_home -V 2.java默认路径 jdk1.6: /System/Library/Java/Ja ...

  6. Java·Maven的安装与配置

    阅文时长 | 0.58分钟 字数统计 | 937.6字符 主要内容 | 1.引言&背景 2.Maven的下载与安装 3.Maven全局配置 4.Settings.xml文件的配置 5.远程仓库 ...

  7. Maven配置详见

    CSDN 2016博客之星评选结果公布    [系列直播]零基础学习微信小程序!      "我的2016"主题征文活动   博客的神秘功能 maven 配置详解 标签: mave ...

  8. hadoop在网页客户端的maven配置

    hadoop网页客户端maven配置,只能在tomcat7上运行,tomcat6和tomcat8运行会出错,我用的是tomcat-7.0.67 完整的pom.xml内容为: <!-- 这个配置只 ...

  9. Maven 配置 Selenium + testNG + reportNG 运行环境

    .markdown-preview:not([data-use-github-style]) { padding: 2em; font-size: 1.2em; color: rgb(56, 58, ...

随机推荐

  1. Android开发过程中在sh,py,mk文件中添加log信息的方法

    Android开发过程中在sh,py,mk文件中添加log信息的方法 在sh文件中: echo "this is a log info" + $info 在py文件中: print ...

  2. Mac OS: How to keep network connection alive after sleep

    Do the following: Find out what the network interface is for your wifi. Mine is "en1" for ...

  3. Dynamics CRM 产品视图列上自带按钮的隐藏

    CRM中对command bar的处理都是使用ribbon workbench,但是很多系统自带的按钮你是没法在ribbon workbench看到的,咱们以产品为例,比如我要隐藏form上的保存按钮 ...

  4. Xcode 中的断言

    转自:http://weibo.com/p/100808885591f113cdedc3301794e5e7d7e9f0/home?from=page_100808&mod=TAB#_rnd1 ...

  5. Hibernate之综合问题

    n + 1问题 query.iterate()方式返回迭代查询会开始发出一条语句:查询所有记录ID语句 Hibernate: select student0_.id ascol_0_0_from t_ ...

  6. Erlang application stop 调用死锁

    Erlang application stop 调用死锁(金庆的专栏)在application行为模块的start()中启动bson应用,在stop()中停止bson,结果application:st ...

  7. Erlang简单并行服务器

    Erlang简单并行服务器(金庆的专栏)Erlang并行服务器为每个Tcp连接创建对应的连接进程,处理客户端数据.参考 Erlang程序设计(第2版)17.1.3 顺序和并行服务器并行服务器的诀窍是: ...

  8. 17 一个ContentProvider的例子

    服务端(ContentProvider) 目录结构图: MainActivity.java: package com.qf.day17_contentprovider_words_demo2; imp ...

  9. UNIX网络编程——UNIX域套接字编程和socketpair 函数

    一.UNIX Domain Socket IPC socket API原本是为网络通讯设计的,但后来在socket的框架上发展出一种IPC机制,就是UNIX Domain Socket.虽然网络soc ...

  10. 【IOS 开发】Objective - C 面向对象高级特性 - 包装类 | 类处理 | 类别 | 扩展 | 协议 | 委托 | 异常处理 | 反射

    一. Objective-C 对象简单处理 1. 包装类 (1) 包装类简介 NSValue 和 NSNumber : -- 通用包装类 NSValue : NSValue 包装单个 short, i ...