Jetty 8服务器启动仅使用命令提示符

时间:2014-10-03 14:08:35

标签: java jetty command-prompt

我是使用Jetty服务器的新手。要启动Jetty v8.1使用命令提示符,我需要导航到jetty-distribution-8.1.16.v20140903文件夹并运行命令:java -jar start.jar

如果我没有导航到jetty-distribution-8.1.16.v20140903文件夹并尝试使用:java -jar C:\jetty-distribution-8.1.16.v20140903\start.jar启动命令,那么我会得到FileNotFoundException

java.io.FileNotFoundException: No XML configuration files specified in start.con
fig or command line.
        at org.eclipse.jetty.start.Main.start(Main.java:502)
        at org.eclipse.jetty.start.Main.main(Main.java:96)

Usage: java -jar start.jar [options] [properties] [configs]
       java -jar start.jar --help  # for more information

启动服务器时它会查找哪些文件?请告诉我如何在不导航到分发文件夹的情况下启动jetty服务器。

修改

当我尝试这个命令时:

java -Djetty.home= C:\jetty-distribution-8.1.16.v20140903 -jar C:\jetty-distribution-8.1.16.v20140903/start.jar

我收到以下错误:

Caused by: java.lang.ClassNotFoundException: C:\jetty-distribution-8.1.16.v20140
903
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: C:\jetty-distribution-8.1.16.v20140903.  Program
will exit.

请建议。

3 个答案:

答案 0 :(得分:1)

根据Jetty文档Running Jetty,启动Jetty服务器的正确方法是:

cd $JETTY_HOME
java -jar start.jar

您是否定义了$JETTY_HOME

如果是这样,您只需编写一个小脚本,例如名为RunJettyJetty的脚本,其中包含上述命令。该脚本甚至可以恢复当前目录...

答案 1 :(得分:1)

试试这个:

java -Djetty.home=C:\jetty-distribution-8.1.15.v20140411 -jar C:\jetty-distribution-8.1.15.v20140411/start.jar

答案 2 :(得分:0)

Jetty 8的启动时间很长,现在与Jetty 9非常不同。

重要提示:Jetty 8 is soon EOL,非常鼓励升级到Jetty 9。

对于Jetty 8,${jetty.home}路径是一切发生的地方(也就是您的jetty-distribution目录)。

对于Jetty 8,它会查找${jetty.home}/start.ini,然后开始构建命令行,xml文件,属性,start.d OPTIONS声明等,以启动您的环境。

对于Jetty 9,这是完全不同的,未经修改的发行版${jetty.home}与您为特定jetty实例配置的新${jetty.base}之间存在明显的区别。对于不同的实例,您甚至可以拥有多个${jetty.base}目录。甚至支持分层${jetty.base}声明以进一步分离组织中的角色(ops将jetty-dist安装到公共${jetty.home}中,配置基础结构${jetty.base}以处理日志记录和监视,以及应用程序在其自己的${jetty.base}中,此时所有3个组合在一起形成实例使用的配置。