2012-04-15 172 views
1

我正在嘗試使用教程here生成Red5服務器示例。我已經做了所有的事情,包括添加red5.jar,commons-logging-1.1.1.jar,但是當我嘗試使用ant構建我自己的jar文件時,出現以下錯誤!嘗試編譯Red5服務器示例時出現Java錯誤

Buildfile: C:\Users\MediaStudio\workspace\Sample\build.xml 
clean: 
compile: 
    [javac] C:\Users\MediaStudio\workspace\Sample\build.xml:8: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds 
    [javac] Compiling 1 source file to C:\Users\MediaStudio\workspace\Sample\classes 
    [javac] warning: [options] bootstrap class path not set in conjunction with -source 1.5 
    [javac] C:\Users\MediaStudio\workspace\Sample\src\org\xyz\Application.java:4: error: package org.apache.commons.logging does not exist 
    [javac] import org.apache.commons.logging.Log; 
    [javac]        ^
    [javac] C:\Users\MediaStudio\workspace\Sample\src\org\xyz\Application.java:5: error: package org.apache.commons.logging does not exist 
    [javac] import org.apache.commons.logging.LogFactory; 
    [javac]        ^
    [javac] C:\Users\MediaStudio\workspace\Sample\src\org\xyz\Application.java:6: error: package org.red5.server.adapter does not exist 
    [javac] import org.red5.server.adapter.ApplicationAdapter; 
    [javac]        ^
    [javac] C:\Users\MediaStudio\workspace\Sample\src\org\xyz\Application.java:7: error: package org.red5.server.api does not exist 
    [javac] import org.red5.server.api.IConnection; 
    [javac]       ^
    [javac] C:\Users\MediaStudio\workspace\Sample\src\org\xyz\Application.java:8: error: package org.red5.server.api does not exist 
    [javac] import org.red5.server.api.IScope; 
    [javac]       ^
    [javac] C:\Users\MediaStudio\workspace\Sample\src\org\xyz\Application.java:12: error: cannot find symbol 
    [javac] public class Application extends ApplicationAdapter{ 
    [javac]        ^
    [javac] symbol: class ApplicationAdapter 
    [javac] C:\Users\MediaStudio\workspace\Sample\src\org\xyz\Application.java:14: error: cannot find symbol 
    [javac] private static final Log log = LogFactory.getLog(Application.class); 
    [javac]     ^
    [javac] symbol: class Log 
    [javac] location: class Application 
    [javac] C:\Users\MediaStudio\workspace\Sample\src\org\xyz\Application.java:17: error: cannot find symbol 
    [javac] public boolean appStart(IScope app){ 
    [javac]      ^
    [javac] symbol: class IScope 
    [javac] location: class Application 
    [javac] C:\Users\MediaStudio\workspace\Sample\src\org\xyz\Application.java:26: error: cannot find symbol 
    [javac] public boolean roomStart(IScope room){ 
    [javac]      ^
    [javac] symbol: class IScope 
    [javac] location: class Application 
    [javac] C:\Users\MediaStudio\workspace\Sample\src\org\xyz\Application.java:35: error: cannot find symbol 
    [javac] public boolean roomConnect(IConnection conn, Object params[]){ 
    [javac]       ^
    [javac] symbol: class IConnection 
    [javac] location: class Application 
    [javac] C:\Users\MediaStudio\workspace\Sample\src\org\xyz\Application.java:44: error: cannot find symbol 
    [javac] public void roomDisconnect(IConnection conn){ 
    [javac]       ^
    [javac] symbol: class IConnection 
    [javac] location: class Application 
    [javac] C:\Users\MediaStudio\workspace\Sample\src\org\xyz\Application.java:50: error: cannot find symbol 
    [javac] public void appDisconnect(IConnection conn){ 
    [javac]       ^
    [javac] symbol: class IConnection 
    [javac] location: class Application 
    [javac] C:\Users\MediaStudio\workspace\Sample\src\org\xyz\Application.java:14: error: cannot find symbol 
    [javac] private static final Log log = LogFactory.getLog(Application.class); 
    [javac]        ^
    [javac] symbol: variable LogFactory 
    [javac] location: class Application 
    [javac] C:\Users\MediaStudio\workspace\Sample\src\org\xyz\Application.java:18: error: cannot find symbol 
    [javac] if(super.appStart(app) == false){ 
    [javac] ^
    [javac] symbol: variable super 
    [javac] location: class Application 
    [javac] C:\Users\MediaStudio\workspace\Sample\src\org\xyz\Application.java:27: error: cannot find symbol 
    [javac] if(super.roomStart(room) == false){ 
    [javac] ^
    [javac] symbol: variable super 
    [javac] location: class Application 
    [javac] C:\Users\MediaStudio\workspace\Sample\src\org\xyz\Application.java:36: error: cannot find symbol 
    [javac] if(super.roomConnect(conn, params) == false){ 
    [javac] ^
    [javac] symbol: variable super 
    [javac] location: class Application 
    [javac] C:\Users\MediaStudio\workspace\Sample\src\org\xyz\Application.java:45: error: cannot find symbol 
    [javac] super.roomDisconnect(conn); 
    [javac]^
    [javac] symbol: variable super 
    [javac] location: class Application 
    [javac] 17 errors 
    [javac] 1 warning 

BUILD FAILED 
C:\Users\MediaStudio\workspace\Sample\build.xml:8: Compile failed; see the compiler error output for details. 

我使用Eclipse的經典版(不知道這是很重要的或沒有,但!)

+0

看起來像一個非常古老的頁面。 Red5源代碼位於http://code.google.com/p/red5/source/checkout。您的構建失敗,因爲它缺少第三方依賴關係,例如公共日誌記錄。 – 2012-04-15 15:54:14

+0

嗯,我已經手動添加'commons logging' jar文件,否則Eclipse不會讓我嘗試構建它。我不知道爲什麼它不承認它! – 2012-04-15 18:19:40

+1

ANT和eclipse不共享管理編譯類路徑的相同機制... Eclipse使用「.classpath」文件,ANT管理「build.xml」中的類路徑 – 2012-04-15 21:05:18

回答

0

我通過添加classpath屬性的javac命令裏面的構建文件指向解決了這個問題正確的jar文件如下面的行:

classpath="${lib.dir}/red5.jar:${lib.dir}/commons-logging-1.1.1.jar" 
+0

我建議您不要依賴commons-logging;使用slf4j + logback代替它,它包含在red5構建中(在red5/lib中)。 – 2012-05-01 16:05:02

相關問題