编译环境: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、编译并安装工程到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] ------------------------------------------------------------------------
进去看看都有什么:
walfred@walfred-VirtualBox:~/wmw/red5-google/red5-read-only$ ls
build.properties license.txt pom.xml src target
walfred@walfred-VirtualBox:~/wmw/red5-google/red5-read-only$ cd target/
walfred@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了,先解压看一下:
walfred@walfred-VirtualBox:~/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 [Server@1e3695map[[empty]]]
[INFO] [Launcher:live] org.red5.server.scope.WebScope - Set server [Server@1e3695map[[empty]]]
[INFO] [Launcher:vod] org.red5.server.scope.WebScope - Set server [Server@1e3695map[[empty]]]
[INFO] [Launcher:/] org.red5.server.scope.WebScope - Set server [Server@1e3695map[[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本地库中的文件
walfred@walfred-VirtualBox:/$ 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、下载拷贝依赖关系
walfred@walfred-VirtualBox:~/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 created
ok。finished