我对java 和 java服务器世界都是全新的... 但我对面向对象编程有很好的了解(17年)。 我的问题是:
为什么我必须调用ant才能使它工作(如果你不感兴趣,请参阅后面的内容,跳过我的问题^ _ ^)?
这就是我想要的:创建一个可以进行视频会议的简单应用程序(=服务器接收一个客户端视频流并将其发送给X客户端)。 我希望它是免费的(Adobe Server需要10000美元)。 我找到的唯一解决方案是Red5(见there)
我已经下载并安装了0.7版本。 以下是我为Red5成功编译java应用程序所采取的步骤:
ivy.xml
如果我记得的话)[Red5 path]\webapps
文件夹。复制/
粘贴tutorial
文件夹。myapp
。tutorial
并将其重命名为myapp
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
经过多次尝试,我发现删除了除代码之外的所有内容 让一切顺利:
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示例中使用的代码:
public String sayHello(Object[] params){
return "got : " + params[0].toString();
}
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服务器之后:我总是得到那个回复 来自服务器:“无效的应用程序”
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 path]
[Red5 path]\webapps\myapp\WEB-INF\build.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>
答案 0 :(得分:4)
Ant将编译代码(编译目标)并构建jar文件(目标jar),它将放在lib文件夹中。当您使用javac编译代码时,不会生成jar文件。