是否有办法从ant运行jetty 7或8 ?有一个ant插件只能在(pre-eclipse)版本6中正常工作,但是eclipse版本似乎只能以独立的形式提供。
引自http://wiki.eclipse.org/Jetty/Tutorial/Embedding_Jetty
Jetty有一个口号,"不要在Jetty中部署你的应用程序,在你的应用程序中部署Jetty。"这意味着,作为将应用程序作为标准WAR捆绑在Jetty中的替代方案,Jetty被设计成一个软件组件,可以像任何POJO一样在Java程序中实例化和使用。换句话说,以嵌入式模式运行Jetty意味着将HTTP模块放入应用程序中,而不是将应用程序放入HTTP服务器中。
这意味着你可以在你的项目中添加一个java类,编译和运行类似的东西:
<target name="run.jetty">
<java class="myjettyrun/RunJetty" classpathref="classpath.run.jetty"/>
</target>
和RunJetty.java看起来像这样:
package myjettyrun;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.webapp.WebAppContext;
public class RunJetty {
public static void main(String[] args) throws Exception {
Server server = new Server(80);
WebAppContext webapp = new WebAppContext();
webapp.setContextPath("/");
webapp.setWar("distrib/wars/root.war");
server.setHandler(webapp);
server.start();
server.join();
}
}
这已经在Jetty 8中进行了测试。确保您拥有所有必需的jetty jar (jetty-webapps, jetty-server)和可能的jsp支持(例如。jsp-2.1-glassfish)和它们在classpath.run.jetty
中的依赖。
在http://wiki.eclipse.org/Jetty/Tutorial/Embedding_Jetty中可以找到更多关于如何在不同情况下运行jetty的示例。