部署一个嵌入式 Jetty&Jersey war 到 jetty9,只能看到静态文件?
Deploy a embedded Jetty&Jersey war to jetty9,only can see static file?
我用IDEA和Maven创建了一个jetty&jersey嵌入式项目,我把它放在了Githubhttps://github.com/Mengqi777/JettyProject。 运行JettyServerStart.java启动服务器,在浏览器地址栏输入localhost:8080/dynamic
,显示OK,输入localhost:8080/static
,显示静态资源文件
现在我把它打包成一个war文件,放在jetty webapps目录下。但是在浏览器中输入 localhost:8080/static
.404 Not Found Error 在浏览器中输入 localhost:8080/dynamic
时只能看到静态文件
发生了什么事?
如何将这个项目打包成war文件或jar文件,并运行在jetty中成功?
您在 JettyServerStart.java 的嵌入式码头使用中做的事情在您的 webapp 或 war 文件中没有 declare/configure。
这是一个 maven 项目,但没有声明为 webapp 或 war 项目(在 pom.xml 中)
它的 WEB-INF 没有在正确的位置(明智的 maven 目录结构),这意味着您构建的 war 文件无效。
webapp 或 war 项目的依赖项没有正确声明(您不能在 war 文件中包含 jetty-server)
您的位置不佳 WEB-INF/web。xml 没有执行与您的 JettyServerStart.java
相同的配置步骤
您没有指定如何创建 ${jetty.base}
目录来支持此 war 文件?
您没有指定您下载或尝试使用的 jetty-distribution
或 jetty-home
的版本。
说法"and put it in jetty webapps directory"不清楚,请问是哪一个? (使用 jetty-distribution/webapps 是无效的,如果您尝试将它用于您自己的网络应用程序,将导致许多错误和 war 错误,没有 jetty-home/webapps,并且您没有识别您的码头基地配置)
你的项目现在声明的方式,即使是手动组装,完全跳过 maven,你没有 servlet,没有过滤器,没有监听器,没有初始化器,只有一个 servlet 规范在 url- 上强制要求 DefaultServlet pattern /
为您提供静态内容。这就是为什么访问 http://localhost:8080/static/
有效,但没有别的。
我用IDEA和Maven创建了一个jetty&jersey嵌入式项目,我把它放在了Githubhttps://github.com/Mengqi777/JettyProject。 运行JettyServerStart.java启动服务器,在浏览器地址栏输入localhost:8080/dynamic
,显示OK,输入localhost:8080/static
,显示静态资源文件
现在我把它打包成一个war文件,放在jetty webapps目录下。但是在浏览器中输入 localhost:8080/static
.404 Not Found Error 在浏览器中输入 localhost:8080/dynamic
发生了什么事?
如何将这个项目打包成war文件或jar文件,并运行在jetty中成功?
您在 JettyServerStart.java 的嵌入式码头使用中做的事情在您的 webapp 或 war 文件中没有 declare/configure。
这是一个 maven 项目,但没有声明为 webapp 或 war 项目(在 pom.xml 中)
它的 WEB-INF 没有在正确的位置(明智的 maven 目录结构),这意味着您构建的 war 文件无效。
webapp 或 war 项目的依赖项没有正确声明(您不能在 war 文件中包含 jetty-server)
您的位置不佳 WEB-INF/web。xml 没有执行与您的 JettyServerStart.java
相同的配置步骤您没有指定如何创建 ${jetty.base}
目录来支持此 war 文件?
您没有指定您下载或尝试使用的 jetty-distribution
或 jetty-home
的版本。
说法"and put it in jetty webapps directory"不清楚,请问是哪一个? (使用 jetty-distribution/webapps 是无效的,如果您尝试将它用于您自己的网络应用程序,将导致许多错误和 war 错误,没有 jetty-home/webapps,并且您没有识别您的码头基地配置)
你的项目现在声明的方式,即使是手动组装,完全跳过 maven,你没有 servlet,没有过滤器,没有监听器,没有初始化器,只有一个 servlet 规范在 url- 上强制要求 DefaultServlet pattern /
为您提供静态内容。这就是为什么访问 http://localhost:8080/static/
有效,但没有别的。