【问题标题】:GlassFish web service application works fine then 404s if restartedGlassFish Web 服务应用程序工作正常,然后重新启动 404s
【发布时间】:2017-07-03 14:41:51
【问题描述】:

我正在用 IntelliJ IDEA 开发一个 RESTful Web 服务应用程序。我正在将它部署到带有战争爆炸工件的 GlassFish。该应用程序有时可以正常工作,而其他时候则不能。我可以启动它,它运行良好,然后停止应用程序,再次启动它,我得到 404。这里列出了一些似乎可以暂时解决问题的事情(直到随后使用相同的配置运行,我得到另一个 404 )。

  • 重建项目
  • 移除并重新添加战争爆炸神器
  • 删除或添加库或依赖项
  • 取消选中或检查依赖项的导出
  • 重新部署应用程序(但不重新启动服务器)
  • 从管理控制台重新加载应用程序

GlassFish 日志打印出以下内容

[2017-02-14T21:38:37.212-0700] [Payara 4.1] [WARNING] [] [org.glassfish.jersey.servlet.init.JerseyServletContainerInitializer] [tid: _ThreadID=63 _ThreadName=admin-thread-pool(2)] [timeMillis: 1487133517212] [levelValue: 900] [[ Mapping conflict. A Servlet registration exists with same mapping as the Jersey servlet application, named launcher.MyApplication, at the servlet mapping, /*.]]

但它在运行成功时会这样做,而当它失败时,它似乎没有关联。我将对其进行更多研究,但发现有关此消息的信息很少(可能是因为它的警告并不重要?)

一段时间以来,我一直在努力解决这个问题。我是一个将应用程序部署到服务器(尤其是在 IntelliJ 中)的绝对初学者,但如果有任何帮助或提示,我将不胜感激。

谢谢

编辑:我还没有达到如果我重新启动服务器或重新部署足够多次它再次工作的地步。从 2-5 次尝试,它会无缘无故地再次工作。 (重新部署时似乎工作更频繁)

【问题讨论】:

  • 如果在 IntelliJ IDEA 之外通过战争或您使用的任何方法手动部署应用程序然后重新部署,问题是否仍然存在?会不会是您错误地部署了 2 个应用程序实例,例如一个通过默认 GlassFish 部署方法,另一个通过 IDE?任何项目都会发生这种情况,比如新的 hello world web 应用程序还是特定于应用程序?回答这些问题将帮助您找出问题所在。
  • 如果我直接从管理控制台或命令行 (asadmin) 部署,问题仍然存在。我不相信会运行 2 个实例,因为在部署之前我没有在 glassfish 中运行任何应用程序。不过,它似乎是特定于应用程序的,因为我创建了一个新的测试 Web 应用程序项目,而且它似乎部署得很好。

标签: java servlets intellij-idea glassfish http-status-code-404


【解决方案1】:

看来我终于找到了问题所在。我缺少 web.xml 中的 servlet 映射到我的项目中的子类 Application 并使用 @ApplicationPath 注释来标识所有 JAX-RS REST 资源的基本 URI。 p>

...
    <servlet>
        <servlet-name>services.MyApplication</servlet-name>
    </servlet>
    <servlet-mapping>
        <servlet-name>services.MyApplication</servlet-name>
        <url-pattern>/*</url-pattern>
    </servlet-mapping>
...

仍然不确定如果没有指定此映射,它偶尔会如何工作,非常奇怪。无论如何,现在它似乎每次都能正常运行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-10
    相关资源
    最近更新 更多