red5源代码编译并打包公布
Posted jzssuanfa
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了red5源代码编译并打包公布相关的知识,希望对你有一定的参考价值。
编译环境:ubuntu14.04/JDK7
步骤:
1、svn检出源代码(两种方式)
svn co --depth empty https://github.com/Red5/red5-server (最新版)
svn checkout http://red5.googlecode.com/svn/java/server/trunk/ red5-read-only(我使用的是这个1.0.2-RC4版)
2、编译并安装project到mvn的本地库/home/walfred/.m2/repository/org/red5/red5-server/1.0.2-RC4。跳过test
mvn -Dmaven.test.skip=true install
编译结果例如以下:
[INFO] Installing /home/walfred/wmw/red5-google/red5-read-only/target/red5-server-1.0.2-RC4-sources.jar to /home/walfred/.m2/repository/org/red5/red5-server/1.0.2-RC4/red5-server-1.0.2-RC4-sources.jar [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 10:21.353s [INFO] Finished at: Wed Oct 15 09:34:22 CST 2014 [INFO] Final Memory: 16M/40M [INFO] ------------------------------------------------------------------------
进去看看都有什么:
[email protected]:~/wmw/red5-google/red5-read-only$ ls build.properties license.txt pom.xml src target [email protected]:~/wmw/red5-google/red5-read-only$ cd target/ [email protected]walfred-VirtualBox:~/wmw/red5-google/red5-read-only/target$ ls apidocs <span style="color:#ff0000;">red5-server-1.0.2-RC4-bootstrap.jar</span> archive-tmp <span style="color:#ff0000;">red5-server-1.0.2-RC4.jar</span> classes red5-server-1.0.2-RC4-javadoc.jar generated-sources <span style="color:#ff0000;"> red5-server-1.0.2-RC4-server.tar.gz</span> javadoc-bundle-options red5-server-1.0.2-RC4-server.zip lib red5-server-1.0.2-RC4-sources.jar maven-archiver test-classes
red5-server-1.0.2-RC4-server.tar.gz 这个就是我们编译后的red5-server了。先解压看一下:
[email protected]:~/wmw/red5-google/red5-read-only/target/red5-server-1.0.2-RC4$ ls -l 总用量 852 drwxrwxr-x 2 walfred walfred 4096 10月 15 09:35 conf drwxrwxr-x 2 walfred walfred 4096 10月 15 09:35 lib -rw-rw-r-- 1 walfred walfred 1324 10月 15 09:15 license.txt drwxrwxr-x 2 walfred walfred 4096 10月 15 09:35 plugins -rw-rw-r-- 1 walfred walfred 1421 10月 15 09:21 red5.bat -rw-rw-r-- 1 walfred walfred 168 10月 15 09:21 red5-debug.bat -rwxr-xr-x 1 walfred walfred 220 10月 15 09:33 red5-debug.sh -rw-rw-r-- 1 walfred walfred 1383 10月 15 09:21 red5-highperf.bat -rwxr-xr-x 1 walfred walfred 622 10月 15 09:33 red5-highperf.sh -rw-rw-r-- 1 walfred walfred 21745 10月 15 09:33 red5-server-bootstrap.jar -rw-rw-r-- 1 walfred walfred 793004 10月 15 09:33 red5-server.jar -rwxr-xr-x 1 walfred walfred 1670 10月 15 09:33 red5.sh -rw-rw-r-- 1 walfred walfred 308 10月 15 09:21 red5-shutdown.bat -rwxr-xr-x 1 walfred walfred 344 10月 15 09:33 red5-shutdown.sh drwxrwxr-x 6 walfred walfred 4096 10月 15 09:35 webapps
执行red5.sh
[INFO] [Launcher:/installer] org.red5.server.Context - Setting parent bean factory as core [INFO] [Launcher:/installer] org.red5.server.scope.WebScope - Set server [[email protected][[empty]]] [INFO] [Launcher:live] org.red5.server.scope.WebScope - Set server [[email protected][[empty]]] [INFO] [Launcher:vod] org.red5.server.scope.WebScope - Set server [[email protected][[empty]]] [INFO] [Launcher:/] org.red5.server.scope.WebScope - Set server [[email protected][[empty]]] [INFO] [Launcher:/installer] org.red5.server.Server - Add mapping global: default host: localhost context: installer [INFO] [Launcher:live] org.red5.server.Server - Add mapping global: default host: context: live [INFO] [Launcher:vod] org.red5.server.Server - Add mapping global: default host: context: vod [INFO] [Launcher:/] org.red5.server.Server - Add mapping global: default host: context: [WARN] [Launcher:/] org.red5.server.scope.Scope - Invalid scope rejected: Scope [name=, path=/default, type=APPLICATION, autoStart=true, creationTime=1413342261664, depth=1, enabled=true, running=false] [WARN] [Launcher:/] org.red5.server.scope.Scope - Scope not added to parent [INFO] [Launcher:/installer] org.red5.server.Server - Add mapping global: default host: localhost:5080 context: installer [INFO] [Launcher:/installer] org.red5.server.service.Installer - Installer service created
同一时候,我们看看mvn本地库中的文件
[email protected]:/$ ls ~/.m2/repository/org/red5/red5-server/1.0.2-RC4/ _maven.repositories red5-server-1.0.2-RC4-javadoc.jar red5-server-1.0.2-RC4-server.zip <span style="color:#ff0000;">red5-server-1.0.2-RC4-bootstrap.jar</span> red5-server-1.0.2-RC4.pom red5-server-1.0.2-RC4-sources.jar <span style="color:#ff0000;">red5-server-1.0.2-RC4.jar</span> red5-server-1.0.2-RC4-server.tar.gz
3、下载拷贝依赖关系
[email protected]Box:~/wmw/red5-google/red5-read-only$ mvn dependency:copy-dependencies
这时候target下会多出一个目录 dependency
[INFO] Scanning for projects... [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building Red5 :: Server 1.0.2-RC4 [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- maven-dependency-plugin:2.6:copy-dependencies (default-cli) @ red5-server --- [INFO] Copying httpclient-4.2.1.jar to /home/walfred/wmw/red5-google/red5-read-only/target/dependencytpclient-4.2.1.jar [INFO] Copying commons-beanutils-1.8.3.jar to /home/walfred/wmw/red5-google/red5-read-only/target/dependency/commons-beanutils-1.8.3.jar [INFO] Copying spring-beans-3.1.4.RELEASE.jar to /home/walfred/wmw/red5-google/red5-read-only/target/dependency/spring-beans-3.1.4.RELEASE.jar [INFO] Copying bcprov-jdk15on-1.47.jar to /home/walfred/wmw/red5-google/red5-read-only/target/dependency/bcprov-jdk15on-1.47.jar ..................................... ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 4.703s [INFO] Finished at: Wed Oct 15 09:36:59 CST 2014 [INFO] Final Memory: 9M/22M [INFO] ------------------------------------------------------------------------4、打包公布,跳过test
mvn -Dmaven.test.skip=true -Dmaven.buildNumber.doUpdate=false package
此时又一次生成新的可执行的red5-server-1.0.2-RC4-server.tar.gz
...................................................................................................................[INFO] Building jar: /home/walfred/wmw/red5-google/red5-read-only/target/red5-server-1.0.2-RC4-javadoc.jar [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 36.994s [INFO] Finished at: Wed Oct 15 10:01:19 CST 2014 [INFO] Final Memory: 14M/35M [INFO] ------------------------------------------------------------------------解压出来新的red5-server-1.0.2-RC4-server.tar.gz,与之前编译的进行一次比較,例如以下图,主要差别是生成了新的lib库文件:
5、执行red.sh
[WARN] [Launcher:/] org.red5.server.scope.Scope - Invalid scope rejected: Scope [name=, path=/default, type=APPLICATION, autoStart=true, creationTime=1413341225677, depth=1, enabled=true, running=false] [WARN] [Launcher:/] org.red5.server.scope.Scope - Scope not added to parent [INFO] [Launcher:/installer] org.red5.server.service.Installer - Installer service createdok,finished
以上是关于red5源代码编译并打包公布的主要内容,如果未能解决你的问题,请参考以下文章