此问题与使用Maven / Spring 3.0开发的战争配置Jetty 9服务器有关。 项目中的'src / main / resources / log4j.properties'中存在一个日志文件,当我运行'mvn jetty:run'时,我可以看到打印的日志。但是,当我在Jetty 9中部署已编译的war文件时,日志不会被打印。我根本看不到任何日志(也没有错误)。
我使用以下命令编译了war文件: 'mvn compile war:war'
我打开了war文件,发现log4j.properties位于WEB-INF / classes / log4j.properties中。
以下是有关正在使用的版本的一些其他详细信息:
有人知道我做错了什么吗?请帮忙!
编辑: 我们开始认为它可能根本没有加载Web应用程序。我们使用org.springframework.web.WebApplicationInitializer而不是web.xml,这是我们的战争结构。
├── META-INF └── WEB-INF ├── classes │ ├── applicationContext.xml │ ├── com │ │ └──….{classes} │ └── log4j.properties └── lib ├── …{jars}
答案 0 :(得分:1)
问题解决了! 问题永远不是关于log4j。这是因为WebApplicationInitializer需要servlet 3.1支持,默认情况下不启用它。 我们在start.ini
中启用了以下功能# ===========================================================
# Enable additional webapp environment configurators
# -----------------------------------------------------------
OPTIONS=plus
etc/jetty-plus.xml
# ===========================================================
# Enable servlet 3.1 annotations
# -----------------------------------------------------------
OPTIONS=annotations
etc/jetty-annotations.xml
答案 1 :(得分:0)
当你的pom <packaging>war</packaging>
mvn package
试图获得战争时