2016-04-06 20 views
1

Ich wollte mir die neueste 1.0.7 auf einem Windows 2012 Server ansehen und die neueste .zip herunterladen. Ich habe die .zip-Datei in mein normales Red5-Verzeichnis (d: \ program files (x86) \ Red5) extrahiert und versucht, red5.bat auszuführen, und habe den Fehler "Konnte Hauptklassen-Dateien nicht finden oder laden". RED5_HOME und JAVA_HOME wurden jedoch nicht geändert. Was habe ich verpasst?Red5 1.0.7M10: Hauptklassendateien konnten nicht gefunden oder geladen werden

Ausgabe der red5.bat Datei:

D:\Program Files (x86)\Red5>if NOT DEFINED RED5_MAINCLASS set RED5_MAINCLASS=org 
    .red5.server.Bootstrap 

    D:\Program Files (x86)\Red5>if NOT DEFINED JAVA_HOME goto err 

    D:\Program Files (x86)\Red5>REM JAVA options 

    D:\Program Files (x86)\Red5>REM You can set JVM additional options here if you w 
    ant 

    D:\Program Files (x86)\Red5>if NOT DEFINED JVM_OPTS set JVM_OPTS=-Xverify:none - 
    XX:+TieredCompilation -XX:+UseBiasedLocking -XX:+UseParNewGC -XX:InitialCodeCach 
    eSize=8m -XX:ReservedCodeCacheSize=32m -Dorg.terracotta.quartz.skipUpdateCheck=t 
    rue 

    D:\Program Files (x86)\Red5>REM Set up logging options 

    D:\Program Files (x86)\Red5>set LOGGING_OPTS=-Dlogback.ContextSelector=org.red5. 
    logging.LoggingContextSelector -Dcatalina.useNaming=true 

    D:\Program Files (x86)\Red5>REM Set up security options 

    D:\Program Files (x86)\Red5>REM set SECURITY_OPTS=-Djava.security.debug=failure 
    -Djava.security.manager -Djava.security.policy="D:\Program Files (x86)\Red5/conf 
    /red5.policy" 

    D:\Program Files (x86)\Red5>set SECURITY_OPTS=-Djava.security.debug=failure 

    D:\Program Files (x86)\Red5>REM Set up tomcat options 

    D:\Program Files (x86)\Red5>set TOMCAT_OPTS=-Dcatalina.home=D:\Program Files (x8 
    6)\Red5 

    D:\Program Files (x86)\Red5>REM Setup python/jython path 

    D:\Program Files (x86)\Red5>set JYTHON_OPTS=-Dpython.home=lib 

    D:\Program Files (x86)\Red5>REM Combined java options 

    D:\Program Files (x86)\Red5>set JAVA_OPTS=-Dlogback.ContextSelector=org.red5.log 
    ging.LoggingContextSelector -Dcatalina.useNaming=true -Djava.security.debug=fail 
    ure -Xverify:none -XX:+TieredCompilation -XX:+UseBiasedLocking -XX:+UseParNewGC 
    -XX:InitialCodeCacheSize=8m -XX:ReservedCodeCacheSize=32m -Dorg.terracotta.quar 
    tz.skipUpdateCheck=true -Dcatalina.home=D:\Program Files (x86)\Red5 -Dpython.hom 
    e=lib 

    D:\Program Files (x86)\Red5>set RED5_CLASSPATH=D:\Program Files (x86)\Red5\red5- 
    service.jar;D:\Program Files (x86)\Red5\conf; 

    D:\Program Files (x86)\Red5>if NOT DEFINED RED5_OPTS set RED5_OPTS= 

    D:\Program Files (x86)\Red5>goto launchRed5 

    D:\Program Files (x86)\Red5>echo Starting Red5 
    Starting Red5 

    D:\Program Files (x86)\Red5>"D:\Program Files\Java\jdk8\bin\java" -Dlogback.Cont 
    extSelector=org.red5.logging.LoggingContextSelector -Dcatalina.useNaming=true -D 
    java.security.debug=failure -Xverify:none -XX:+TieredCompilation -XX:+UseBiased 
    Locking -XX:+UseParNewGC -XX:InitialCodeCacheSize=8m -XX:ReservedCodeCacheSize=3 
    2m -Dorg.terracotta.quartz.skipUpdateCheck=true -Dcatalina.home=D:\Program Files 
    (x86)\Red5 -Dpython.home=lib -cp "D:\Program Files (x86)\Red5\red5-service.jar; 
    D:\Program Files (x86)\Red5\conf;" org.red5.server.Bootstrap 
    Java HotSpot(TM) 64-Bit Server VM warning: Using the ParNew young collector with 
    the Serial old collector is deprecated and will likely be removed in a future r 
    elease 
    Error: Could not find or load main class Files 

war ich endlich in der Lage Red5 zu erhalten begonnen, indem die red5.bat Datei zu ändern und mit den Anführungszeichen um einige der Parameter durcheinander. Es ist ein Windows-Server, daher befindet sich red5 in c: \ program files (x86) \ red5. Hier ist die modifizierte red5.bat Datei und nachfolgende Fehler:

if NOT DEFINED RED5_HOME set RED5_HOME=%~dp0 

if NOT DEFINED RED5_MAINCLASS set RED5_MAINCLASS=org.red5.server.Bootstrap 

if NOT DEFINED JAVA_HOME goto err 

if NOT DEFINED JVM_OPTS set JVM_OPTS=-Xverify:none -XX:+TieredCompilation -XX:+UseBiasedLocking -XX:+UseParNewGC -XX:InitialCodeCacheSize=8m -XX:ReservedCodeCacheSize=32m -Dorg.terracotta.quartz.skipUpdateCheck=true 

set LOGGING_OPTS=-Dlogback.ContextSelector=org.red5.logging.LoggingContextSelector -Dcatalina.useNaming=true 

set SECURITY_OPTS=-Djava.security.debug=failure 

set TOMCAT_OPTS=-Dcatalina.home="%RED5_HOME%" 

über der Linie geändert Zitate enthalten

set JYTHON_OPTS=-Dpython.home=lib 

set JAVA_OPTS=%LOGGING_OPTS% %SECURITY_OPTS% %JAVA_OPTS% %JVM_OPTS% %TOMCAT_OPTS% %JYTHON_OPTS% 

set RED5_CLASSPATH=%RED5_HOME%\red5-service.jar";"%RED5_HOME%\conf;%CLASSPATH% 

Added zitiert der ersten param und Anfang des zweiten zu beenden. Quotes werden automatisch am Anfang und Ende des Parameters hinzugefügt.

if NOT DEFINED RED5_OPTS set RED5_OPTS= 

goto launchRed5 

:launchRed5 
echo Starting Red5 
"%JAVA_HOME%\bin\java" %JAVA_OPTS% -cp "%RED5_CLASSPATH%" %RED5_MAINCLASS% %RED5_OPTS% 

Doch nachdem ich in der Lage war Red5 zum Laufen zu bringen, habe ich meine app, eTutor und versuchte, einen Stream. Ich habe diesen Fehler erhalten.

[INFO] [RTMPConnectionExecutor-1] maple.classroom.MapleClassroom - W3C x-category:session x-event:connect c-ip:76.242.102.xxx c-client-id:0 
[INFO] [Red5_Scheduler_Worker-31] maple.classroom.MapleClassroom - W3C x-category:stream x-event:play c-ip:76.242.102.xxx x-sname:4fb77abf-56aa-45cd-8907-11aa2a333cb6 
[INFO] [Red5_Scheduler_Worker-32] maple.classroom.MapleClassroom - W3C x-category:stream x-event:play c-ip:76.242.102.xxx x-sname:4fb77abf-56aa-45cd-8907-11aa2a333cb6 x-name:CADEaudio/2820/MOB_49_0_2 
[INFO] [RTMPConnectionExecutor-1] org.red5.server.stream.StreamService - closeStream stream id: 1 connection: WAOIKZMBN2YZO 
[INFO] [RTMPConnectionExecutor-1] org.red5.server.stream.StreamService - Stream not found - streamId: 1 connection: WAOIKZMBN2YZO 
[INFO] [Red5_Scheduler_Worker-17] maple.classroom.MapleClassroom - W3C x-category:stream x-event:stop c-ip:76.242.102.xxx cs-bytes:3953 sc-bytes:4031 x-sname:4fb77abf-56aa-45cd-8907-11aa2a333cb6 
[INFO] [RTMPConnectionExecutor-4] org.red5.server.scope.BasicScope - ClientBroadcastStream already exists: [email protected] new: [email protected] 
[INFO] [RTMPConnectionExecutor-4] org.red5.server.stream.ClientBroadcastStream - Stream start: CADEaudio/2820/MOB_49_0_2 
[INFO] [RTMPConnectionExecutor-4] maple.classroom.MapleClassroom - W3C x-category:stream x-event:record-start c-ip:76.242.102.xxx x-sname:22665dc5-26ea-470a-98b5-0cf9b5894d5c x-file-name:MOB_49_0_2.flv 
[WARN] [Red5_Scheduler_Worker-24] org.red5.server.stream.RecordingListener - Exception while pushing to consumer 
java.nio.BufferUnderflowException: null 
     at java.nio.HeapByteBuffer.get(Unknown Source) 
     at org.apache.mina.core.buffer.AbstractIoBuffer.get(AbstractIoBuffer.java:625) 
     at org.apache.mina.core.buffer.AbstractIoBuffer.get(AbstractIoBuffer.java:1337) 
     at org.red5.server.stream.consumer.ImmutableTag.build(ImmutableTag.java:183) 
     at org.red5.server.stream.consumer.FileConsumer$QueuedData.<init>(FileConsumer.java:795) 
     at org.red5.server.stream.consumer.FileConsumer.pushMessage(FileConsumer.java:256) 
     at org.red5.server.stream.RecordingListener.processQueue(RecordingListener.java:319) 
     at org.red5.server.stream.RecordingListener.access$300(RecordingListener.java:57) 
     at org.red5.server.stream.RecordingListener$EventQueueJob.execute(RecordingListener.java:383) 
     at org.red5.server.scheduling.QuartzSchedulingServiceJob.executeInternal(QuartzSchedulingServiceJob.java:89) 
     at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:75) 
     at org.quartz.core.JobRunShell.run(JobRunShell.java:202) 
     at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) 
+0

Dateien, ist eine Jdk 8-Klasse; nichts mit Red5 zu tun. Der erste Schritt besteht darin, Java 8 auf Ihrem Computer zu installieren. –

+0

Java 8 ist auf diesem Server seit seiner Erstellung und das ist, was 1.0.6 verwendet hat. Ich habe die Ausgabe der Datei red5.bat oben hinzugefügt. JDK ist derzeit 1.8.77 – Velocedge

+0

Ich spreche darüber: Fehler: Hauptklassendateien konnten nicht gefunden oder von Ihrem Text geladen werden; Red5 verwendet diese Klasse nicht in der App. –

Antwort

1

Ok, das ursprüngliche Problem ist behoben. Das Problem war in der red5.bat-Datei und die Behandlung von Anführungszeichen um Dateipfade. Ich hatte Anführungszeichen setzen um:

set TOMCAT_OPTS=-Dcatalina.home="%RED5_HOME%" 

Die RED5_CLASSPATH seine eigenen Zitate zu dem Classpath Wert am Anfang und am Ende hinzugefügt, aber sie auf die einzelnen Parameter nicht hinzufügen. So musste ich auch „innen“ die folgende Anweisung eingeben, damit jeder Parameter zitiert wurde:

set RED5_CLASSPATH=%RED5_HOME%\red5-service.jar";"%RED5_HOME%\conf;%CLASSPATH% 

ich noch keine Ahnung haben, was das tun wird, wenn ich versuche, es als Dienst zu laufen, aber ich Ich hoffe, wenn 1.0.7 Finale veröffentlicht wird, wird alles gut. Es gibt den einen Fehler, aber das ist ein anderes Problem und Post.

+0

Die Produktionsversion von 1.0.7 hat das gleiche Problem mit der red5.bat-Datei und die inkonsistente Verwendung von Anführungszeichen. – Velocedge

+0

Vielen Dank dafür. Ich kann mir nicht vorstellen, wie ich dieses Problem ohne Ihre Antwort gelöst hätte. –

+0

Velocedge, konnten Sie dies als Windows-Dienst ausführen? Ich erhalte den FindClass-Fehler, obwohl ich ihn normal ausführen kann, nachdem sich die Anführungszeichen geändert haben. –

Verwandte Themen