【问题标题】:Can a java .war file contain a webserverjava .war 文件是否可以包含网络服务器
【发布时间】:2014-01-13 14:16:02
【问题描述】:

我正在按照说明中的说明安装 Jenkins

"安装简单:只需 java -jar jenkins.war,或者部署在一个 小服务程序容器。无需额外安装,无需数据库。”

我了解 servlet 容器的方法,但上述说法是否意味着仅安装 Java 并运行 .war 文件就会以某种方式启动 Web 服务器并开始提供 http 请求?

【问题讨论】:

    标签: java servlets jenkins


    【解决方案1】:

    是的,war 文件包含内置的Winstone servlet 容器,运行该命令将启动它并使其侦听端口 8080 上的请求。

    编辑:Jenkins 1.535 及更高版本捆绑了 Jetty(而不是 Winstone)。您仍然可以使用java -jar jenkins.war 运行它。

    【讨论】:

    • Jenkins 1.535 及更高版本捆绑了 Jetty(而不是 Winstone),因此您只需运行 java -jar jenkins.war。见wiki.jenkins-ci.org/display/JENKINS/Jetty
    • @Brice 感谢您的更新,我已经使用该信息编辑了我的答案。
    【解决方案2】:

    Jenkins 与 Winstone 捆绑在一起,这是一个非常轻量级的 servlet 容器。因此,Jenkins 可以按照说明从命令行启动,无需任何额外的软件安装。

    【讨论】: