基于Java的Spring WebApp未运行Jetty9

何塞·曼佐利

我有一个基于Java的Spring Configuration(不带web.xml)的战争项目,该项目在mvn jetty:run上可以完美运行,但是当我将Jetty 9放入机器中时,该项目未运行。Jetty 9服务器运行了,但是应用程序根本没有初始化。

该应用程序包含在队列订阅服务器中。

看来我需要有一个web.xml文件。

有人对我想念的东西有任何想法吗?

Jetty 9服务器上的App的xml配置文件为(编辑:使用正确的conf文件)

<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">
<!--
        JETTY_HOME="<%=node['api']['worker']['jetty']['jetty_home']%>"
        JAVA_HOME="<%=node['api']['worker']['jetty']['java_home']%>"
        JETTY_CONSOLE="<%=node['api']['worker']['jetty']['jetty_console']%>"
        JETTY_USER="<%=node['api']['worker']['jetty']['jetty_user']%>"
        JETTY_ARGS="<%=node['api']['worker']['jetty']['jetty_args']%>"
        JETTY_RUN="<%=node['api']['worker']['jetty']['jetty_run']%>"
        JAVA_OPTIONS="<%=node['api']['worker']['jetty']['java_options']%>"
-->
<Configure id="Server" class="org.eclipse.jetty.server.Server">
  <Get name="ThreadPool">
    <Set name="minThreads" type="int"><Property name="threads.min" default="10"/></Set>
    <Set name="maxThreads" type="int"><Property name="threads.max" default="200"/></Set>
    <Set name="idleTimeout" type="int"><Property name="threads.timeout" default="60000"/></Set>
    <Set name="detailedDump">false</Set>
  </Get>

  <Call name="addBean">
    <Arg>
      <New class="org.eclipse.jetty.util.thread.ScheduledExecutorScheduler"/>
    </Arg>
  </Call>

  <New id="httpConfig" class="org.eclipse.jetty.server.HttpConfiguration">
    <Set name="secureScheme">https</Set>
    <Set name="securePort"><Property name="jetty.secure.port" default="8443" /></Set>
    <Set name="outputBufferSize"><Property name="jetty.output.buffer.size" default="32768" /></Set>
    <Set name="requestHeaderSize"><Property name="jetty.request.header.size" default="8192" /></Set>
    <Set name="responseHeaderSize"><Property name="jetty.response.header.size" default="8192" /></Set>
    <Set name="sendServerVersion"><Property name="jetty.send.server.version" default="true" /></Set>
    <Set name="sendDateHeader"><Property name="jetty.send.date.header" default="false" /></Set>
    <Set name="headerCacheSize">512</Set>
  </New>

  <New class="org.eclipse.jetty.server.ServerConnector">
    <Arg name="server"><Ref refid="Server" /></Arg>
    <Arg name="factories">
      <Array type="org.eclipse.jetty.server.ConnectionFactory">
        <Item>
          <New class="org.eclipse.jetty.server.HttpConnectionFactory">
            <Arg name="config"><Ref refid="httpConfig" /></Arg>
          </New>
        </Item>
      </Array>
    </Arg>
    <Set name="host"><Property name="jetty.host" /></Set>
    <Set name="port"><Property name="jetty.port" default="8080"/></Set>
    <Set name="idleTimeout"><Property name="http.timeout" default="30000"/></Set>
    <Set name="soLingerTime"><Property name="http.soLingerTime" default="-1"/></Set>
    <Set name="acceptQueueSize"><Property name="http.acceptQueueSize" default="0"/></Set>
  </New>

  <Call class="java.lang.System" name="setProperty">
    <Arg>logback.configurationFile</Arg>
    <Arg>file:///conf/worker/logback.xml</Arg>
  </Call>
  <Call class="java.lang.System" name="setProperty" >
    <Arg>service.config.path</Arg>
    <Arg>/opt/webapps/worker</Arg>
  </Call>


  <Set name="handler">
    <New id="Handlers" class="org.eclipse.jetty.server.handler.HandlerCollection">
      <Set name="handlers">
        <Array type="org.eclipse.jetty.server.Handler">
          <Item>
            <New id="Contexts" class="org.eclipse.jetty.server.handler.ContextHandlerCollection"/>
          </Item>
          <Item>
            <New id="DefaultHandler" class="org.eclipse.jetty.server.handler.DefaultHandler">
              <Set name="showContexts">false</Set>
            </New>
          </Item>
        </Array>
      </Set>
    </New>
  </Set>

  <New class="org.eclipse.jetty.webapp.WebAppContext">
    <Set name="contextPath">/</Set>
    <Set name="war"><Property name="jetty.webapps" default="." />/opt/webapps/worker.war</Set>
    <Set name="extractWAR">true</Set>
  </New>

  <Call name="addBean">
    <Arg>
      <New id="DeploymentManager" class="org.eclipse.jetty.deploy.DeploymentManager">
        <Set name="contexts">
          <Ref refid="Contexts" />
        </Set>
        <Call id="webappprovider" name="addAppProvider">
          <Arg>
            <New class="org.eclipse.jetty.deploy.providers.WebAppProvider">
              <Set name="monitoredDirName"><Property name="jetty.home" default="." />/webapps</Set>
              <Set name="scanInterval">1</Set>
              <Set name="extractWars">true</Set>
              <Set name="configurationClasses">
                <Array type="java.lang.String">
                  <Item>org.eclipse.jetty.webapp.WebInfConfiguration</Item>
                  <Item>org.eclipse.jetty.webapp.WebXmlConfiguration</Item>
                  <Item>org.eclipse.jetty.webapp.MetaInfConfiguration</Item>
                  <Item>org.eclipse.jetty.webapp.FragmentConfiguration</Item>
                  <Item>org.eclipse.jetty.annotations.AnnotationConfiguration</Item>
                  <Item>org.eclipse.jetty.webapp.JettyWebXmlConfiguration</Item>
                </Array>
              </Set>
            </New>
          </Arg>
        </Call>
      </New>
    </Arg>
  </Call>

  <Set name="stopAtShutdown">true</Set>
  <Set name="stopTimeout">5000</Set>
  <Set name="dumpAfterStart"><Property name="jetty.dump.start" default="false"/></Set>
  <Set name="dumpBeforeStop"><Property name="jetty.dump.stop" default="false"/></Set>
</Configure>

码头控制台日志是

Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0
WARNING: System properties and/or JVM args set.  Consider using --dry-run or --exec
2014-12-19 19:32:49.749:INFO:oejs.Server:main: jetty-9.0.3.v20130506
2014-12-19 19:32:49.800:INFO:oejdp.ScanningAppProvider:main: Deployment monitor [file:/opt/jetty- distribution-9.0.3.v20130506/webapps/] at interval 1
2014-12-19 19:32:51.554:INFO:oejsh.ContextHandler:main: Started o.e.j.w.WebAppContext@45afc369{/,file:/tmp/jetty-0.0.0.0-8080-worker.war-_-any-/webapp/,AVAILABLE}{/worker/worker.war}
2014-12-19 19:32:51.560:INFO:oejdp.ScanningAppProvider:main: Deployment monitor [file:/opt/jetty-distribution-9.0.3.v20130506/webapps/] at interval 1
2014-12-19 19:32:51.587:INFO:oejs.ServerConnector:main: Started ServerConnector@34cd072c{HTTP/1.1}{0.0.0.0:8080}

编辑:xml配置文件现在是正确的,我不得不取消注释上面的选项 ${jetty.home}/start.ini

# ===========================================================
# Enable additional webapp environment configurators 
# -----------------------------------------------------------
OPTIONS=plus
etc/jetty-plus.xml

# ===========================================================
# Enable servlet 3.1 annotations
# -----------------------------------------------------------
OPTIONS=annotations
etc/jetty-annotations.xml 
乔基姆·埃德菲特(Joakim Erdfelt)

首先要解决一些明显的问题。

  1. 您正在使用Java 8,升级到Jetty 9.2.6(Jetty 9.0.3太旧并且不支持Java 8)
  2. 您的DTD参考是不好的,它是Jetty 7中的参考,众所周知在Jetty 9中会引起问题。请<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">改用。
  3. 您的课程参考不好,应该予以修复。"org.eclipse.jetty_runˆy.server.Server"不存在

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用Maven,Jetty9,spring4且没有web.xml的可运行战争

来自分类Dev

HashLoginService 和 Jetty9

来自分类Dev

在Jetty9 WebAppContexts之间实现SSO

来自分类Dev

基于Spring MVC Java的配置无法正常工作。控制台显示无错误,但我的jsp页面未显示

来自分类Dev

为什么在运行基于spring的骆驼junit测试用例时出现java.lang.NoSuchMethodError

来自分类Dev

在GCP上运行基于Java的API后端(Spring Boot,Micronaut,Quarkus)的最经济有效的方法是什么?

来自分类Dev

Spring MVC,Tile在运行war文件jetty Runner时未呈现jsp页面

来自分类Dev

基于运行时条件的Spring开关实现

来自分类Dev

在不同的机器上运行 CorDapp(基于 spring webserver)节点

来自分类Dev

将基于Java的配置转换为基于Spring XML的配置

来自分类Dev

基于Spring MVC Java的配置中的AuthenticationSuccessHandler

来自分类Dev

基于Spring Java的静态方法配置

来自分类Dev

基于 Java 注释的 Spring 安全配置

来自分类Dev

嵌入式Jetty 9中基于SSL的WebSocket

来自分类Dev

java.lang.NoClassDefFoundError:org / eclipse / jetty / plus / webapp / PlusConfiguration

来自分类Dev

java.lang.NoClassDefFoundError:org / eclipse / jetty / plus / webapp / PlusConfiguration

来自分类Dev

如何为Jetty9启用gzip压缩(静态和动态)?

来自分类Dev

JSF + Weld CDI + WebService(通过Jetty9)不起作用

来自分类Dev

将嵌入式Jetty&Jersey war部署到jetty9,只能看到静态文件?

来自分类Dev

基于代理的模拟:为什么 Netlogo 的运行速度比基于 Java 的 Repast 快得多

来自分类Dev

未调用基于Java接口的多态性

来自分类Dev

未调用基于Java接口的多态性

来自分类Dev

运行某些基于.NET的程序是否需要Java?

来自分类Dev

存储在Heroku上运行的基于Java的REST服务的映像

来自分类Dev

无法基于Java程序的结果运行脚本

来自分类Dev

无法基于Java程序的结果运行脚本

来自分类Dev

无法基于Java程序的结果运行脚本

来自分类Dev

无法基于Java程序的结果运行脚本

来自分类Dev

无法基于Java程序的结果运行脚本

Related 相关文章

  1. 1

    使用Maven,Jetty9,spring4且没有web.xml的可运行战争

  2. 2

    HashLoginService 和 Jetty9

  3. 3

    在Jetty9 WebAppContexts之间实现SSO

  4. 4

    基于Spring MVC Java的配置无法正常工作。控制台显示无错误,但我的jsp页面未显示

  5. 5

    为什么在运行基于spring的骆驼junit测试用例时出现java.lang.NoSuchMethodError

  6. 6

    在GCP上运行基于Java的API后端(Spring Boot,Micronaut,Quarkus)的最经济有效的方法是什么?

  7. 7

    Spring MVC,Tile在运行war文件jetty Runner时未呈现jsp页面

  8. 8

    基于运行时条件的Spring开关实现

  9. 9

    在不同的机器上运行 CorDapp(基于 spring webserver)节点

  10. 10

    将基于Java的配置转换为基于Spring XML的配置

  11. 11

    基于Spring MVC Java的配置中的AuthenticationSuccessHandler

  12. 12

    基于Spring Java的静态方法配置

  13. 13

    基于 Java 注释的 Spring 安全配置

  14. 14

    嵌入式Jetty 9中基于SSL的WebSocket

  15. 15

    java.lang.NoClassDefFoundError:org / eclipse / jetty / plus / webapp / PlusConfiguration

  16. 16

    java.lang.NoClassDefFoundError:org / eclipse / jetty / plus / webapp / PlusConfiguration

  17. 17

    如何为Jetty9启用gzip压缩(静态和动态)?

  18. 18

    JSF + Weld CDI + WebService(通过Jetty9)不起作用

  19. 19

    将嵌入式Jetty&Jersey war部署到jetty9,只能看到静态文件?

  20. 20

    基于代理的模拟:为什么 Netlogo 的运行速度比基于 Java 的 Repast 快得多

  21. 21

    未调用基于Java接口的多态性

  22. 22

    未调用基于Java接口的多态性

  23. 23

    运行某些基于.NET的程序是否需要Java?

  24. 24

    存储在Heroku上运行的基于Java的REST服务的映像

  25. 25

    无法基于Java程序的结果运行脚本

  26. 26

    无法基于Java程序的结果运行脚本

  27. 27

    无法基于Java程序的结果运行脚本

  28. 28

    无法基于Java程序的结果运行脚本

  29. 29

    无法基于Java程序的结果运行脚本

热门标签

归档