2012-04-15 25 views
1

Ich versuche, ein Red5-Server-Beispiel mithilfe des Lernprogramms here zu erstellen. Ich habe alle Dinge einschließlich hinzufügen red5.jar, commons-logging-1.1.1.jar getan, aber wenn ich versuche, meine eigene JAR-Datei mit ant zu bauen, bekomme ich die folgenden Fehler!Java-Fehler beim Versuch, ein Red5-Server-Beispiel zu kompilieren

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. 

ich die klassische Version von Eclipse bin mit (nicht sicher, ob es wichtig ist oder nicht, aber!)

+0

Sieht aus wie eine sehr alte Seite. Der Red5-Quellcode befindet sich hier http://code.google.com/p/red5/source/checkout. Ihr Build schlägt fehl, da es Abhängigkeiten von Drittanbietern, zum Beispiel Commons Logging, fehlt. –

+0

Nun, ich habe 'commons logging' JAR-Datei manuell hinzugefügt, sonst hätte Eclipse mich nicht versuchen lassen, es zu bauen. Ich weiß nicht, warum es das nicht anerkennt! –

+1

ANT und Eclipse teilen nicht den gleichen Mechanismus für die Verwaltung des Kompilierungsklassenpfads ... Eclipse verwendet die Datei ".classpath", ANT verwaltet den Klassenpfad innerhalb der Datei "build.xml" –

Antwort

0

Ich löste dieses Problem, indem Sie das classpath Attribut auf den javac Befehl in der Build-Datei zeigt auf Die richtigen JAR-Dateien wie die folgende Zeile:

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

Ich würde vorschlagen, dass Sie sich nicht auf Commons-Logging verlassen; Verwenden Sie stattdessen slf4j + logback, es ist in red5 enthalten (in red5/lib). –

Verwandte Themen