【问题标题】:Start java application with jetty without WAR file使用没有WAR文件的jetty启动java应用程序
【发布时间】:2014-10-07 17:02:46
【问题描述】:

我尝试通过this tutorial 启动 Jersey + Jetty + Nginx,但我无法使用 war 文件。如何启动我的 java 应用程序?

我通过右键单击 BackendServer.java 并在 IDEA 中单击“运行”或在终端 java -cp /home/example/backend/build/WEB-INF/lib/backend.jar:/home/example/backend/libs/* com.example.backend.BackendServer 中使用来启动应用程序。

项目结构描述here.

/opt/jetty/webapps/backend.xml

<?xml version="1.0"  encoding="UTF-8"?>
<!DOCTYPE Configure PUBLIC
    "-//Mort Bay Consulting//DTD Configure//EN"
    "http://www.eclipse.org/jetty/configure_9_0.dtd">

<!--
  Configure a custom context for serving javadoc as static resources
-->

<Configure class="org.eclipse.jetty.server.handler.ContextHandler">
  <Set name="contextPath">/</Set>
  <Set name="resourceBase"><SystemProperty name="jetty.home" default="."/>??????????</Set>
  <Set name="handler">
    <New class="org.eclipse.jetty.server.handler.ResourceHandler">
      <Set name="welcomeFiles">
        <Array type="String">
          <Item>index.html</Item>
        </Array>
      </Set>
      <Set name="cacheControl">max-age=3600,public</Set>
    </New>
  </Set>
</Configure>

应该用什么代替????????我应该在 BackendServer.java 中使用嵌入式码头吗?我知道我有从 nginx 到码头的重定向请求,但我不明白如何使用码头启动球衣应用程序......

【问题讨论】:

    标签: java nginx jersey jetty war


    【解决方案1】:

    链接的示例/教程和链接的较早问题不兼容。

    本教程适用于 Jetty 6(现在不可能已经过时),并且完全使用嵌入式码头,并启用了部署和一切。

    您之前的问题设置了com.sun.net.httpserver.HttpServer,这不是一回事。

    resourceBase 是您可能想要提供的任何 web 应用内容的根目录。

    既然您使用的是简单的ContextHandler,那么它应该指向您磁盘上的一个目录。

    如果您使用的是 WebAppContext,那么它应该指向您的 webapp 基目录(WEB-INF/web.xmlWEB-INF/classes 等可选文件所在的位置)

    您定义的ResourceHandler 应该使用ContextHandler.resourceBase

    请注意,ResourceHandler 用于最简单、最简单的静态文件服务。 如果您的 Web 客户端对执行缓存查找、恢复下载、部分下载或 mime 类型控件有任何要求,请使用DefaultServlet

    另外,如果您想要的只是嵌入式码头中的文件服务器,为什么要使用带有基本ContextHandler 的 XML 部署?将其写入嵌入式码头服务会容易得多。

    一些可能对您有用的嵌入式码头示例代码:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-01-31
      • 1970-01-01
      • 2018-01-05
      • 1970-01-01
      • 1970-01-01
      • 2011-06-10
      • 2020-03-18
      相关资源
      最近更新 更多