- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 Maven 在 Jetty 中部署应用程序:
我的插件配置如下:
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>8.0.4.v20111024</version>
</plugin>
我有一个 WebApplicationContextInitializer,我已将其简化为一个简单的形式:
AnnotationConfigWebApplicationContext dispatcherContext = new AnnotationConfigWebApplicationContext();
// Register and map the main dispatcher servlet
ServletRegistration.Dynamic dispatcher = container.addServlet("appServlet", new DispatcherServlet(dispatcherContext));
dispatcher.setLoadOnStartup(2);
dispatcher.addMapping("/site/*");
当我从 Spring Tool Suite 中运行 jetty:run 时,我无法访问我的 servlet。启动日志为:
[INFO] Configuring Jetty for project: Test
[INFO] webAppSourceDirectory C:\Users\Alex\Documents\spring\Test\src\main\webapp does not exist. Defaulting to C:\Users\Alex\Documents\spring\Test\src\main\webapp
[INFO] Reload Mechanic: automatic
[INFO] Classes = C:\Users\Alex\Documents\spring\Test\target\classes
[INFO] Context path = /
[INFO] Tmp directory = C:\Users\Alex\Documents\spring\Test\target\tmp
[INFO] Web defaults = org/eclipse/jetty/webapp/webdefault.xml
[INFO] Web overrides = none
[INFO] web.xml file = null
[INFO] Webapp directory = C:\Users\Alex\Documents\spring\Test\src\main\webapp
2012-02-06 21:22:38.048:INFO:oejs.Server:jetty-8.0.4.v20111024
2012-02-06 21:22:38.807:INFO:oejpw.PlusConfiguration:No Transaction manager found - if your webapp requires one, please configure one.
2012-02-06 21:22:41.828:INFO:/:Spring WebApplicationInitializers detected on classpath: [org.test.application.config.TestWebApplicationInitializer@f946f9]
2012-02-06 21:22:41.965:INFO:/:Initializing Spring FrameworkServlet 'appServlet'
INFO : org.springframework.web.servlet.DispatcherServlet - FrameworkServlet 'appServlet': initialization started
INFO : org.springframework.web.context.support.AnnotationConfigWebApplicationContext - Refreshing WebApplicationContext for namespace 'appServlet-servlet': startup date [Mon Feb 06 21:22:41 GMT 2012]; root of context hierarchy
INFO : org.springframework.context.annotation.ClassPathBeanDefinitionScanner - JSR-330 'javax.inject.Named' annotation found and supported for component scanning
INFO : org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor - JSR-330 'javax.inject.Inject' annotation found and supported for autowiring
INFO : org.springframework.beans.factory.support.DefaultListableBeanFactory - Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@18b24cb: defining beans [org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,org.springframework.context.annotation.internalPersistenceAnnotationProcessor,org.springframework.context.annotation.ConfigurationClassPostProcessor$ImportAwareBeanPostProcessor#0]; root of factory hierarchy
INFO : org.springframework.web.servlet.DispatcherServlet - FrameworkServlet 'appServlet': initialization completed in 235 ms
2012-02-06 21:22:42.344:INFO:oejsh.ContextHandler:started o.m.j.p.JettyWebAppContext{/,file:/C:/Users/Alex/Documents/spring/Test/src/main/webapp/},file:/C:/Users/Alex/Documents/spring/Test/src/main/webapp/
2012-02-06 21:22:42.344:INFO:oejsh.ContextHandler:started o.m.j.p.JettyWebAppContext{/,file:/C:/Users/Alex/Documents/spring/Test/src/main/webapp/},file:/C:/Users/Alex/Documents/spring/Test/src/main/webapp/
2012-02-06 21:22:42.345:INFO:oejsh.ContextHandler:started o.m.j.p.JettyWebAppContext{/,file:/C:/Users/Alex/Documents/spring/Test/src/main/webapp/},file:/C:/Users/Alex/Documents/spring/Test/src/main/webapp/
2012-02-06 2012-02-06 21:22:42.352:INFO:oejs.AbstractConnector:Started SelectChannelConnector@0.0.0.0:8080 STARTING
[INFO] Started Jetty Server
如果然后导航到 http://localhost:8080/我得到默认的 Jetty 页面,没有列出任何上下文。
我已尝试将 webdefaults.xml 复制到我的项目中,如所述 here但这并没有解决问题。它只是删除了默认的 servlet 页面。
这可以在 Tomcat 中正确部署,因此我怀疑 maven-jetty-plugin 中存在问题。
有人有这方面的经验吗?
编辑:
所以我可以确认,如果我更改 Jetty 配置,以便将应用程序部署在 context/application 下,然后导航到 http://localhost:8080/application/site/我得到了 404。
但是,调度程序 servlet 已记录:
No mapping found for HTTP request with URI [/application/site/] in DispatcherServlet with name 'appServlet'
这表明我的 Controller 映射存在问题,是否正确?
启动日志显示此映射已注册:
Mapped "{[/],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.String org.test.application.controller.HomeController.catchAll()
我错过了什么?
最佳答案
新的 Jetty 插件似乎使用根“/”作为 Web 应用程序的根上下文,旧的插件如下所示:
contextPath Optional. The context path for your webapp. By default, this is set to the from the project's pom.xml. You can override it and set it to anything you like here.
关于Spring WebApplicationInitializer 和 Jetty 8.x,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9167554/
在没有指定上下文和上下文处理程序的情况下启动 jetty 实例是否正确,然后在服务器启动后继续向其添加上下文。尽管我能够使用可变 HandlerCollection 执行此操作并且日志显示服务器和上下
在没有指定上下文和上下文处理程序的情况下启动 jetty 实例是否正确,然后在服务器启动后继续向其添加上下文。尽管我能够使用可变 HandlerCollection 执行此操作并且日志显示服务器和上下
我正在尝试让 Jetty 在我的 Ubuntu 上自动启动。 我已经完成了这些命令: cp /opt/jetty/bin/jetty.sh /etc/init.d update-rc.d jett
我是 Jetty 和客户端/服务器架构的新手。 我设法在 Eclipse 中编写了一个 jetty 服务器,它可以工作。 但是我怎样才能停止 jetty 服务器呢?我听说过 stop.jar 和 st
我已经使用Jetty / tomcat应用服务器使用Spring Web应用程序工作了大约两年了,但是让我感到困惑的是如何在这些服务器中处理多个请求。我知道 Spring 有助于单例,但我的理解仅限于
我正在尝试使用 jetty 来使用 maven 托管一个简单的 helloworld servlet。我很困惑。 我关注了这些 instructions ,但是当我发出 mvn jetty:run ,
我正在使用 Jetty 9,我有 jetty.base 和 jetty.home,我想知道我什么时候启动 jetty,它以什么样的顺序调用 jetty.base 和 jetty.home,我的意思是一
我有一个 Ubuntu 服务器 10.10 64 位 在 上运行 Web 应用程序 jetty 6.1.24-6 在 Sun 的 JVM ,两者都是从标准 Ubuntu 存储库安装的。 我正在尝试查找
我在集成测试中使用 ShrinkWrap 启动 Jetty 服务器。 问题: 当我启动我的测试 jetty 服务器而不是制作我的 Controller 模型时 - 模型不起作用! 我认为原因是不同的类
使用Gradle帮助运行Jetty 9 我已经看到了在how-to-run-jetty-7-with-specified-war-with-groovy-gradle和setting_up_embed
我正在将一个项目打包到 docker jetty 镜像中,并且我正在尝试访问日志,但没有访问日志。 文件 FROM jetty:9.2.10 MAINTAINER Me "me@me.com" ADD
有没有办法解决jetty引起的文件锁定问题?完全来自 gradle ? 一些澄清: 使用 Gradle Jetty plugin 时通过运行 gradle jettyRun, jetty 导致静态资源
我最近才开始使用 Java(我最近的大部分经验都在 .NET 中)。作为这项工作的一部分,我一直在对 Jetty 和 Tomcat 进行一些比较。 我认为在我们的环境中 Tomcat 的一个功能是内置
我已将 Jetty 嵌入到 Java 应用程序中,并在 Jetty 服务器对象的实例上调用 start() 方法(在设置描述静态和动态 Web 内容位置的处理程序列表之后)。 start() 调用会阻
我正在使用 Jetty 部署生产网站。假设我的网站是 foo.com 当我将浏览器指向一个不存在的上下文(比如 foo.com/notavailable)时,Jetty 会显示一个错误页面,其中包含部
我想使用 Jetty 的嵌入式版本创建一个应用程序。不幸的是,我找不到有关我需要这样做的 jar 文件的任何信息。 Maven 存储库中有几个( http://repo2.maven.org/mave
This answer explains how the server version header can be completely removed通过使用 HttpConfiguration.s
有人可以告诉我DispatcherType在做什么吗? 似乎是重要的配置。 指向ServletContextHandler#addFilter之类的东西对类的使用也没有帮助,对我来说,“ aa”是明智
我正在尝试使用jetty gradle插件运行Jetty服务器进行功能测试。但是,我得到了java.lang.IllegalArgumentException: Object is not of ty
我需要在gradle构建中创建多种不同的模式来运行 jetty 。 它们的系统属性和类路径不同。 如何使用Gradle Jetty插件进行操作? 最佳答案 您可以创建JettyRun类型的多个任务。要
我是一名优秀的程序员,十分优秀!