30.apollo源代码在mac下编译

一. Apollo简介

Apache Apollo是一个代理服务器,其是在ActiveMQ基础上发展而来的,可以支持STOMP, AMQP, MQTT, Openwire, SSL, and WebSockets 等多种协议。

官网链接

自己使用Apollo主要是用它做mqtt服务器。

二. 源代码下载

代码下载编译官方指导

使用svn checkout代码:

svn co http://svn.apache.org/repos/asf/activemq/activemq-apollo/trunk apollo

三. 环境准备

  1. JDK1.7

    JDK官网下载

  2. scala 2.12.2

    scala安装教程

    scala官网下载

  3. mvn3.5.0

    maven官网

四. 编译

1. 进入到源代码目录

2.增加内存配置,因为Apollo编译很耗内存
export MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=128m"
3.编译
mvn -Dtest=false install

跳过测试步骤

apollo编译过程中会执行测试过程,比如:

------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running org.apache.activemq.apollo.openwire.codec.BooleanStreamTest
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.825 sec
Running org.apache.activemq.apollo.openwire.test.OpenwireBDBParallelTest
ParallelJUnitRunner using up to 8 threads to execute parallel tests.

官方编译指导文档

五. 编译生成目录

Apollo源代码/apollo-distro/target

六. 编译出现的问题:

1.JDK1.8和scala不能兼容

编译scala程序时出现 is broken错误,如下:

/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/jre/lib/rt.jar(java/lang/reflect/AnnotatedElement.class)‘ is broken

可以把JDK改成1.7进行编译

2.Exception in thread "main" java.lang.OutOfMemoryError: PermGen space

在编译之前执行

export MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=128m"
时间: 2024-11-08 19:17:14

30.apollo源代码在mac下编译的相关文章

Mac下编译libpomelo静态库,并在cocos2dx项目中引用

最近在学习cocos2dx的过程中需要和服务器进行交互,所以这几天在学习libpomelo静态库的编译和使用.之前在windows系统下编译libpomelo,并在VS中引入比较顺利:但是,目前对Mac系统和XCode不是很熟悉,所以多花了些时间.不过,最终还是成功了,在这里就将我编译引入libpomelo静态库的过程记录下来,也分享给和我一样遇到问题的朋友们. 准备工作 libpomelo下载地址:https://github.com/NetEase/libpomelo或者http://pan

mac下编译支持arm64的ffmpeg

mac下编译支持arm64的ffmpeg 2015年1月份开始苹果开始要求所有新提交AppStore的应用支持arm64,之前的ffmpeg如果没有编译支持arm64的版本的话,也将被拒绝.在此直接给出编译脚本,在ffmpeg2.5.2下测试通过.本次只编译支持h264解码的功能,需要其他的请自行改编译命令 脚本下载地址: http://www.mingjianhua.com/post/buildffmpegforarm64.html 用法 如果需要同时支持armv7和arm64,则通过以下命令

Mac下编译vlc-android

前言 突然想整整VLC-Android,然后就下一个玩玩看,这里记录点遇到的问题. 声明 欢迎转载,但请保留文章原始出处:) 博客园:http://www.cnblogs.com 农民伯伯: http://over140.cnblogs.com 正文 一般按照官网来就行(https://wiki.videolan.org/AndroidCompile),以下是遇到的几个问题: 1.环境变量配置 export ANDROID_NDK=/Users/nmbb/Android/android-ndk-

Mac下编译Thrift的时候Python2.7会报错 site-packages': Operation not permitted

具体错误详细如下: Making install in py /usr/local/bin/python setup.py build running build running build_py running build_ext /Library/Developer/CommandLineTools/usr/bin/make install-exec-hook /usr/local/bin/python setup.py install --root=/ --prefix=/usr runn

mac下编译node源码

看过一篇win7 64x下面编译node的文章,链接地址:编译nodejs及其源码研究 下面学习一下在mac下面如何编译node源码. 过程也挺简单. 1.下载源码. > mkdir nodesrc && cd nodesrc #创建nodesrc目录,并定位到该目录下> git clone https://github.com/nodejs/node.git #使用git clone命令下载node源码 当然也可以直接下载压缩包,然后解压到nodesrc目录. 2.了解一下n

黑马程序员-ios学习-C语言入门篇-非MAC下编译C的环境,算法的理解-01

很高兴写第一篇技术博客!2011年以后就没在写过博客这东东了!好了,废话扯两句!以下正文 ios开发课程有c语言,那么,我们当前没有购买mac电脑,那我们出了装虚拟机,就用windows跟linux来练习c语言吧,可以缓冲几天,可以做基础测试的时候,可以用到! vc++6.0安装,百度搜索,vc++6.0,然后下载下来,安装,就这么简单!我在我虚拟机里面安装安装一下吧! 点击setup.exe,弹出一个程序兼容的提示框,别理会,点击运行,反正遇到下一步,就点,遇到继续就点,就好了,安装软件简单,

go语言Mac下编译安装

这两天公司成立了go语言学习兴趣小组,慕名参与了学习.目前对于go是0基础,只知道它可以做高并发.效率快.编译简单.母语是C. go的安装有多种形式,编译安装是比较慢的一个,今天我就记录一下学习go编译安装流程. 1.下载软件包 https://studygolang.com/dl go1.12.7.darwin-amd64.tar.gz 2.解压到/opt/local/etc/位置 我习惯用统一的位置安装软件 tar -C /opt/local/etc/ -xzf go1.12.7.darwi

【VLC-Android】Mac下编译vlc-android

前言 突然想整整VLC-Android,然后就下一个玩玩看,这里记录点遇到的问题. 声明 欢迎转载,但请保留文章原始出处:) 博客园:http://www.cnblogs.com 农民伯伯: http://over140.cnblogs.com 正文 本文vlc-android的版本为:2.2.0-pre1 Weatherwax 一般按照官网来就行(https://wiki.videolan.org/AndroidCompile),以下是遇到的几个问题: 1.环境变量配置 export ANDR

mac下编译 boost编译工具b2

cd boost_1_64_0/tools/build ./bootstrap.sh --with-toolset=gcc 输出: -n Bootstrapping the build engine with toolset gcc... engine/bin.macosxx86_64/b2 Bootstrapping is done. To build and install, run: ./b2 install --prefix=<DIR> ./b2 install --prefix=/u