当前位置: 首页 > 知识库问答 >
问题:

使用jetty启用WebApplicationInitializer实现

严项明
2023-03-14

这个问题与用Maven/Spring3.0开发的war配置Jetty9服务器有关。在项目的'src/main/resources/log4j.properties'中存在一个日志文件,当我运行'mvn jetty:run'时,可以看到打印的日志。但是,当我在Jetty9中部署编译后的war文件时,日志不会打印出来。我根本看不到任何日志(也没有错误)。

我使用以下命令编译了war文件:'mvn compile war:war'

我打开war文件,看到log4j.properties位于web-inf/classes/log4j.properties中。

    null

有人知道我做错了什么吗?请救命!

编辑:我们开始认为可能web应用程序根本没有加载。我们使用org.springframework.web.WebApplicationInitializer而不是web.xml,下面是我们的war结构。

├── META-INF
└── WEB-INF
    ├── classes
    │   ├── applicationContext.xml
    │   ├── com
    │   │   └──….{classes}
    │   └── log4j.properties
    └── lib
        ├── …{jars}

共有1个答案

晁砚
2023-03-14

问题解决了!问题从来都不是关于log4j的。这是因为WebApplicationInitializer需要Servlet3.1支持,而默认情况下没有启用Servlet3.1支持。我们已经在start.ini中启用了folling

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

# ===========================================================
# Enable servlet 3.1 annotations
# -----------------------------------------------------------
 OPTIONS=annotations
 etc/jetty-annotations.xml
 类似资料:
  • 我在Ubuntu服务器VCS中安装了jetty 9服务器。java rest项目的结构: /opt/jetty/webapps/backend/ 构建 conf lib 库 日志 s rc/com/example/pack/backend 资源 CategoryResource.java 网络 网.xml BackendServer.java 类别资源.java 网.xml /opt/jetty/

  • 我试图调试我的案例,简单的ActiveWeb应用程序没有在Jetty下运行。它的行为就像不存在任何用于请求处理的类一样,并返回错误404。 问题不在于ActiveWeb。是关于码头的。如何发现Jetty有一些web应用程序,它有一个带注释的类,并将在HTTP请求下执行它? 目前我已经下载了Jetty,它可以工作。不幸的是,它没有日志记录。当404错误返回时,没有任何东西显示在或中,也没有任何文件显

  • 我试图在Jetty实例中设置日志级别为DEBUG。当我们在属性文件下添加-Dorg.eclipse.jetty.util.log.class=org.eclipse.jetty.util.log.StdErrLog-Dorg.eclipse.jetty.LEVEL=DEBUG并将其传递给JVM时,它正在工作。我的用例是,我试图从用户界面设置日志级别,以便在不重启服务器的情况下,我们可以切换日志级别

  • 我试图解决一个SSLHandshakeExcure,为此,我试图启用SSL调试模式,我尝试设置-Djavax.net.debug=ssl,但它不起作用,记录器只给我有关类的信息,如org.eclipse.util.ssl.SSLContext工厂org.eclipse.util.ssl.X509,这是否意味着Jetty在其核心中不使用JSSE实现? 我试图以这种格式可视化日志:https://do

  • 目前我正在使用启用TLS 1.2的代码: 现在我正在使用TLS 1.1,并希望将其更改为TLS 1.2。

  • 我想用apache-camel使用Jetty在http://localhost:8080/中并发一个rest服务。但是这段代码不会对API产生任何请求。我是apache-camel的初学者,我想使用不同的微服务。 日志: 此输出不产生LocalHost:8080中API的任何响应,但我认为路由是正确的。我想知道是否有其他方法使用Apache-Camel使用API rest的rest服务。