我对Java和Java Server世界都是全新的...
但是我对面向对象的编程有很好的了解(17年)。
我的问题是:

为什么我必须打电话给ant才能使其工作(请参阅稍后,如果您不感兴趣,请跳过我的问题^ _ ^)?

这就是我想要的:创建一个可以进行视频会议的简单应用程序(=服务器接收一个客户端视频流并将其分发给X客户端)。
我希望它免费(Adobe Server的价格约为10000美元)。
我发现的唯一解决方案是Red5(请参阅there

我已经下载并安装了0.7版本。
这是我能够成功为Red5编译Java应用程序的步骤:


下载并安装(Windows XP)
最新版本(0.7)
手动下载并复制
安装文件夹中的一些文件已经
在0.7安装中被遗忘了
(与v0.6版本进行比较,并猜测是哪个版本)
(如果记得的话,是ivy.xml
进入[Red5 path]\webapps文件夹。复制/
粘贴tutorial文件夹。
将文件夹重命名为myapp
编辑该文件夹中的所有xml文件,搜索字符串tutorial
并将其重命名为myapp
这是我所做的,但没有成功:
用javac编译:
javac -classpath "[Red5 path]\red5.jar" -d "[Red5 path]\webapps\myapp\WEB-INF\classes" Application.java javac -classpath "[Red5 path]\red5.jar" -d "[Red5 path]\webapps\myapp\WEB-INF\classes" TestService.java
一切正常,但是一旦我启动了
Flex客户端来自服务器的答案是“无效的应用程序”
经过多次尝试,我发现删除了除该代码外的所有内容
使一切正常:

package myapp;

import org.red5.server.adapter.ApplicationAdapter;
import org.red5.server.api.IConnection;
import org.red5.server.api.IScope;

/* myapp */
public class Application extends ApplicationAdapter {

public String sayHello(Object[] params){
    return "got : " + params[0].toString();
}


}



然后,我希望能够进行跟踪。


我编写了在Red5示例中运行的代码:
package myapp;

import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.red5.server.adapter.ApplicationAdapter; import org.red5.server.api.IConnection; import org.red5.server.api.IScope;

public class Application extends ApplicationAdapter {

protected static Logger log = LoggerFactory.getLogger(Application.class);

public String sayHello(Object[] params){
    log.info("I got your name: "+params[0].toString());
    return "I got your name: " + params[0].toString();
}


}
重新启动Red5服务器后:我总是得到该响应
从服务器:“无效的应用程序”
然后我下载了ant,将其解压缩到[Red5 path]
我创建了一个新文件[Red5 path]\webapps\myapp\WEB-INF\build.xml
我把那个xml放在其中:


<project name="Projet myapp" default="compile" basedir=".">
    <target name="clean" description="Clean output directories">
    </target>
    <target name="compile" depends="clean">
        <javac srcdir="./src" destdir="./classes" source="1.6" classpath="C:\Program Files\Red5\red5.jar" >
        </javac>
    </target>
    <target name = "jar" depends ="compile">
        <echo message ="Creating jar..."/>
        <jar destfile="./lib/myapp.jar" basedir="./classes"/>
        <echo message ="Done."/>
    </target>
</project>



运行一个shell,然后输入:
cd [Red5 path]\webapps\myapp\WEB-INF
......\apache-ant-1.7.1\bin\ant jar

现在一切正常!
这是问题!
我不明白的是:
为什么我必须打电话给蚂蚁才能使它工作?

最佳答案

Ant将同时编译代码(编译目标)并构建jar文件(目标jar),该文件将放置在lib文件夹中。当您仅使用javac编译代码时,不会生成jar文件。

关于java - Red5 + Java + Windows安装+ ant编译:它可以工作,但是为什么呢?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/857270/

10-11 22:11