如果你在找一个快速方便的方法来运行你的webapp,并且不想安装和管理jetty的发行版,那么不要再犹豫,jetty runner就是你要找的。Jetty runner的想法非常简单--使用单独的jar包从命令行运行你的webapp,并且尽可能使用默认的配置:
Java –jar jetty-runner.jar my.war ->jetty将会使用8080端口启动并且部署my.war。
你也可以通过命令行部署多个webapp,不管是压缩的war包还是未压缩的:
Java –jar jetty-runner.jar --path /one my1.war –path /two my2
这个例子中,my1.war可以通过http://localhost:8080/one访问,my2可以通过http://host:8080/two访问。
或者,如果你的webapp需要多一点配置,你可以通过jetty的上下文配置文件来运行他们:
java -jar jetty-runner.jar contexts/my.xml
你可以通过命令行进行一些常用的配置,如启动端口,是否生成请求日志等。
java -jar jetty-runner.jar --port 9090 --log my/request/log/goes/here my.war
你甚至可以在命令行配置jdbc数据源的jndi资源入口,下面这个例子配置了一个jndi名称为“java:comp/env/jdbc/mydatasource”的Postgres DB:
java -jar jetty-runner.jar \
--lib ~/src/tools/derby/ --lib ~/src/tools/atomikos \
--jdbc org.apache.derby.jdbc.EmbeddedXADataSource "databaseName=testdb;createDatabase=create" \"jdbc/mydatasource" my.war
--jdbc参数的语法为: --jdbc <classname of Driver or XADataSource> <db properties> <jndiname>
你还必须要告诉jetty到何处去寻找db的驱动和atomikos(基于java的事务管理工具),--lib参数用来告诉jetty要加进容器的classpath的额外的jar包,你也可以使用—jar和—classes参数。
如果这些还不够,你还可以使用jetty.xml配置文件进行充分的配置:
java -jar jetty-runner.jar --config my/jetty.xml my.war
jetty-runner的所有参数可以通过如下命令查询:
java -jar jetty-runner.jar –help
如何获得jetty-runner.jar
http://repo2.maven.org/maven2/org/mortbay/jetty/jetty-runner/