现在的位置: 首页 > 综合 > 正文

《Red5 用户参考手册》之六:入门第五章 构建 Red5

2013年11月26日 ⁄ 综合 ⁄ 共 6422字 ⁄ 字号 评论关闭

官方最新《Red5 用户参考手册》全套下载地址
        构建环境设置
        Ant
        构建 Red5 项目源代码需要 Apache Ant 1.7 或者以上版本。可以去这里下载:http://archive.apache.org/dist/ant/binaries/

        ant 二进制执行文件的目录必须得在系统环境变量 PATH 中进行定义(命令行里输入 ant -version 进行测试),通常定义如下

PATH=$PATH:/usr/local/ant 

        你可以检查自己的环境变量 PATH,windows 下 输入 set PATH,unix 下输入 echo $PATH。
        Java
        运行 ant,编译源代码并使之在 Red5 服务器上运行需要 Java 1.5 或 1.6 及以上版本。
        Java 5 下载地址:http://java.sun.com/j2se/1.5.0/download.html
        Java 6 下载地址:http://java.sun.com/j2se/1.6.0/download.html

        必须定义好环境变量 JAVA_HOME 和 JAVA_VERSION,通常定义如下:

JAVA_HOME=C:\development\j2sdk\1.5.0_07 JAVA_VERSION=1.5 You can check this on windows by typing set JAVA_HOME or on unix by typing echo $JAVA_HOME 

        Red5

        必须将环境变量 RED5_HOME 定义好,通常定义如下:

RED5_HOME=/www/red5_server

        警告:没有正确设置此环境变量将会导致无法正确构建 Red5!
        如果你已经有了 Java IED,那么你就不需要 netbeans 或者 eclipse 了。
        在此下载 Netbeans:http://www.netbeans.org
        在此下载 Eclipse:http://www.eclipse.org
        构建
        获取 Red5 源代码
        Red5 源代码可以在谷歌代码项目页面和 SVN 库进行下载。
        1.如果你有一个谷歌代码登录账号的话使用你喜爱的 SVN 客户端将源代码从地址
http://red5.googlecode.com/svn/java/server/trunk/
或者
https://red5.googlecode.com/svn/java/server/trunk/
检出。
        2.团队成员将被添加到谷歌代码项目组,并用您的 Google 代码账号登录,你可以在地址
http://code.google.com/hosting/settings
查看进行 SVN 提交更改所需要的密码。
        获取 Red5 示例应用源代码
        3.如果你有一个谷歌代码登录账号的话使用你喜爱的 SVN 客户端将源代码从地址
http://red5.googlecode.com/svn/java/example/trunk/
或者
https://red5.googlecode.com/svn/java/example/trunk/
检出。
        获取 Red5 Flash 示例源代码
        4.如果你有一个谷歌代码登录账号的话使用你喜爱的 SVN 客户端将源代码从地址
http://red5.googlecode.com/svn/flash/trunk/
或者
https://red5.googlecode.com/svn/flash/trunk/
检出。
        运行 ant 进行构建

        只需要在 Red5 源代码目录下执行以下命令行即可对 Red5 进行构建:

ant dist

        当前的 Ant Targets
                * all - 运行 clean, prepare, compile, jar, javadoc
                * bootstrap - 编译并使用 bootstrap 类启动服务
                * checkout - 检出 Red5 服务源(需要 svnant.jar)
                * checkout-all - 将 Red5 项目整个跟级别的源检出到一个指定目录
                * clean - 清理所有的文件和目录
                * compile - 编译 Red5
                * compile_core - 构建 Red5 服务源并下载 Java 6 依赖
                * compile_core_compatibility - 构建 Red5 服务源并下载 Java 5 依赖
                * compile_demos - 拷贝根和 installer 的 webapp 副本
                * compile_script - 编译脚本源
                * compile_tests - 编译 junit 测试类
                * compile_war - 将 Red5 编译到一个 war 发布包
                * console - 运行一个非 SSL jconsole 以便在 JMX 下管理 Red5
                * console-ssl - 运行一个 SSL jconsole 一遍在 SSL 可用的 JMX 下管理 Red5
                * doc-all - 生成单 html,多 html 和 pdf 文档
                * doc-clean - 清理文档文件
                * doc-html - 将参考文档编译到 chunked html
                * doc-htmlsingle - 将参考文档编译到单 html
                * doc-pdf - 将参考文档编译到 pdf
                * doc-prepare - 为文档的额外准备
                * dist - 制作二进制发布版
                * dist-archive - 创建归档文件分发
                * dist-cluster - 创建边/源发布
                * dist-debian - 创建 Debian 软件包
                * dist-edge - 创建一个 Red5 边发布
                * dist-origin - 创建一个 Red5 源发布
                * dist-installer - 创建 Installer 发布
                * dist-macosx - 创建 Mac OSX 平台的 installer
                * dist-windows - 创建 Windows 平台的 installer
                * dist-redhat - 创建 Redhat 平台的 installer
                * ivyclear - 清除 Ivy 缓存
                * jar-determine-classpath - 为 jar 文件确定 classpath
                * jar - 创建归档文件
                * javadoc - 生成 JavaDoc 文档
                * java6.check - 检查 Java 6
                * prepare - 为构建 Red5 做准备
                * server - 编译并启动服务器
                * shutdown - 关掉运行中的 Red5 实例
                * udp_server - 编译并启动试验用的 UDP 服务器
                * run-tests - 运行 JUnit 测试并生成 HTML 格式报告
                * run-tests-systemtest - 使用 flash 客户端对测试服务器进行端对端系统测试
                * run-tests-server - 运行自行测试服务器
                * svn-add - 添加文件到 svn
                * remotejar - 创建一个可能会被远程应用部署的 jar
                * retrieve - 如果需要的话检索库
                * rtmps_keystore - 在 conf 目录下创建 RTMPS 所需要的 keystore 文件
                * truststore - 创建一个重复的 keystore 文件并为 jconsole SSL 连接创建一个 truststore 文件
                * upload-snapshot - 上传一个 Red5 快照到 repository
                * war_demos - 为 demo 应用构建 war 包
                * webwar - 创建 Web 归档
        Ant 和 Ivy

        使用以下命令清理依赖库:

ant ivyclear

        需要使用特殊方式重建 Red5 以确保 ivy 正确检索依赖库:

ant -Divy.conf.name="java6, eclipse" dist

        更多信息请查阅 [Eclipse 配置 Ivy 文档]。
        如何使用 Eclipse 构建 Red5
        本指南假设你的 Eclipse 版本 3.1.0 以上,而且已经从 svn 库
https://red5.googlecode.com/svn/java/server/trunk
获得 Red5 服务器源代码。
        推荐的 Eclipse 插件
        使用 Eclipse 构建 Red5,推荐/要求使用以下插件:
                * IvyIDE -
http://ant.apache.org/ivy/ivyde/download.cgi
关于安装/更新请参考[Eclipse 配置 Ivy 文档]。
                * Spring IDE -

http://springide.org/project/wiki

                * Subclipse SVN Plugin -

http://subclipse.tigris.org/

        Red5 项目的导入
        有两种方法进行 Red5 项目的导入。一种是导入 Red5 项目的副本,另一种是直接从 SVN 下载。
                * 导入 Red5 项目的副本
                1.启动 Eclipse
                2.菜单栏点击 File 按钮并选择 import
                3.在导入对话框里选择 "Existing Projects into Workspace" 选项并点击 next
                4.点击 "Select root directory" 文本框旁边的 "browse" 按钮
                5.选择你下载的 Red5 项目的根目录 (比如 c:\projects \osflash\red5 或 /www/red5_server) 并点击 ok
                6.在确认 red5 在项目区被选中后点击 Finish
                7.Eclipse 会自行创建项目,你也可以选中 project 按钮后点击 build project 强行创建
                * 直接从 SVN 下载(必须先装好 Subclipse 插件)
                1.启动 Eclipse
                2.菜单栏点击 File 按钮并选择 import
                3.导入对话框里选择 SVN 后选择 "Checkout Projects from SVN" 并点击 next
                4.会有一个可用的 SVN url 列表,如果没有的话选择 "Create a new repository location" 点击 next 然后输入http://red5.googlecode.com/svn/java/server/trunkhttps://red5.googlecode.com/svn/java/server/trunk
                5.点击 Finish
                6.Eclipse 会自行创建项目,你也可以选中 project 按钮后点击 build project 强行创建
        更新 Red5 源代码
        1.在 Eclipse 中右击 Red5 源代码项目
        2.定位到 "Team" 后选择 "Update"
        3.源代码会从 SVN 库中进行更新
        4.右击 Red5 源代码项目并选择 Refresh
        5.项目在每次更新后应该进行清理,选择 Project -> Clean
        在 Eclipse 中 debug Red5
        1.点击 Debug 图标菜单旁的箭头后点击 "Open Debug Dialog"
        2.在菜单中点击 "Java Application" 然后右击并选择 "New"
        3.为 debug 配置输入一个名字(比如 "Red") 并输入 "org.red5.server.Bootstrap" 作为 main 类
        4.选择 Arguments 选项卡

        5.放入程序参数:

-Dlogback.ContextSelector=org.red5.logging.LoggingContextSelector -Dcatalina.useNaming=true  -Djava.security.debug=failure

        6.放入 VM 参数:

-cp ./conf

        7.在装有 JDK 5 和 JDK 6 的 OSX 下,配置 PATH 环境变量为 JDK 6。找到环境变量选项卡,创建一个新的变量 PATH,设置为:

/System/Library/Frameworks/JavaVM.framework/Versions/1.6/Home/bin

        8.点击 Apply 并关闭。
        9.右击项目并选择 Build Path -> Configure Build Path
        10.源程序选项卡中选择 Add Folder 并选择 src/conf 目录
        11.请确定 "Allow output folders for source folders" 被选中
        12.在 red5_server/src/conf 目录下,选中 Output Folder 并选择 edit
        13.选择 Specific output,选中根目录并选择 "create new folder"
        14.选中 conf,Red5 配置文件的输出目录会被定位到 red5_server/conf
        15.选择导入的 Red5 项目后点击 debug 图标启动服务
        16.控制台下会有日志信息
        如果控制台下有错误如下:
        java.net.BindException: Address already in use: bind at sun.nio.ch.Net.bind(Native Method) at sun.nio.ch.ServerSocketChannelImpl.bind(Unknown Source) at sun.nio.ch.ServerSocketAdaptor.bind(Unknown Source)
at org.apache.mina.io.socket.SocketAcceptor.registerNew(SocketAcceptor.java:362) at org.apache.mina.io.socket.SocketAcceptor.access$800(SocketAcceptor.java:46) at org.apache.mina.io.socket.SocketAcceptor$Worker.run(SocketAcceptor.java:238) Exception in thread
"main" 

        表示 red5 想要运行的 socket 已被占用,你可以更改 socket。
        Ant、Ivy 和 Eclipse

        当使用 ant 和 ivy 的以下命令清理依赖库:

ant ivyclear

        这时候要求使用特别方法进行 Red5 重建以确保 ivy 已正确检索库:

ant -Divy.conf.name="java6, eclipse" dist

        然后回到 Eclipse 右击项目中的 ivy.xml 并点击 Refresh。
        更多信息请查阅
Documentation/Tutorials/IvySetupWithEclipse

原文链接:http://trac.red5.org/wiki/Documentation/UsersReferenceManual/GettingStarted/05-Building-Red5

抱歉!评论已关闭.