gpt4 book ai didi

java - Red5 + Java + Windows 安装 + ant 编译 : it works, 但为什么呢?

转载 作者:行者123 更新时间:2023-12-01 19:26:05 25 4
gpt4 key购买 nike

我对 java java 服务器世界都是全新的......但我对面向对象编程有丰富的了解(17 年)。我的问题是:

为什么我必须调用 ant 才能使其正常工作(稍后见,如果您不感兴趣,请跳过我的问题^_^)?

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

我已经下载并安装了0.7版本。以下是我为成功编译 Red5 java 应用程序所做的步骤:

  1. 下载并安装 (Windows XP)最新版本(0.7)
  2. 手动下载并复制安装文件夹中的一些文件0.7安装时忘记了(与 v0.6 版本进行比较,猜猜是哪一个)(ivy.xml如果我记得的话)
  3. 进入[Red5 path]\webapps文件夹。复制/粘贴tutorial文件夹。
  4. 将该文件夹重命名为 myapp .
  5. 编辑该文件夹中的所有 xml 文件,搜索字符串 tutorial并将其重命名为myapp
  6. 这是我所做的,没有工作:使用 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
  7. 一切正常,但是一旦我启动了Flex 客户端从服务器得到的答案是“无效的应用程序”
  8. 经过多次尝试,我发现删除除该代码之外的所有内容让一切顺利:

    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 {

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

    }

然后我希望能够追踪。

  1. 我编写了在 Red5 示例中运行的代码:

    package myapp;<p></p>

    <p>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;</p>

    <p>public class Application extends ApplicationAdapter {</p>

    <pre><code>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();
    }
    </code></pre>

    }

  2. After restarting Red5 server : I always got that responsefrom the server: "Invalid application"

  3. Then I downloaded ant, unpacked it in the [Red5 path]
  4. I've created a new file [Red5 path]\webapps\myapp\WEB-INF\build.xml
  5. I've put that xml in it :
<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 才能使其正常工作?
  • 最佳答案

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

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

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com