Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用jetty启用WebApplicationInitializer实现_Java_Spring_Logging_Log4j_Jetty - Fatal编程技术网

Java 使用jetty启用WebApplicationInitializer实现

Java 使用jetty启用WebApplicationInitializer实现,java,spring,logging,log4j,jetty,Java,Spring,Logging,Log4j,Jetty,这个问题与使用Maven/Spring3.0中开发的war配置Jetty9服务器有关。 项目中的“src/main/resources/log4j.properties”中存在一个日志文件,我可以在运行“mvnjetty:run”时看到打印的日志。但是,当我在Jetty 9中部署编译的war文件时,日志不会被打印出来。我根本看不到任何日志(也没有错误) 我使用以下命令编译war文件: “mvn编译战争:战争” 我打开war文件,看到log4j.properties位于WEB-INF/classe

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

我使用以下命令编译war文件: “mvn编译战争:战争”

我打开war文件,看到log4j.properties位于WEB-INF/classes/log4j.properties中

以下是有关所用版本的其他详细信息:

  • 码头9.0.7
  • 春季3.2.4
  • Log4J:1.5.5
  • 有人知道我做错了什么吗?请帮忙

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

    ├── META-INF └── WEB-INF ├── classes │   ├── applicationContext.xml │   ├── com │   │   └──….{classes} │   └── log4j.properties └── lib ├── …{jars} ├── META-INF └── WEB-INF ├── 班级 │   ├── applicationContext.xml │   ├── 通用域名格式 │   │   └──….{classes} │   └── log4j.properties └── 解放党 ├── …{jars} 当您的pom有
    war
    的try
    mvn包
    来代替战争

    当您的pom有
    war
    的try
    mvn包
    来代替战争

    问题解决了! 问题从来不是关于log4j的。这是因为WebApplicationInitializer需要servlet 3.1支持,而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
    
    问题解决了! 问题从来不是关于log4j的。这是因为WebApplicationInitializer需要servlet 3.1支持,而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
    

    war文件中是否有
    log4j.properties
    ?如果是,在哪个文件夹中?Hi Ralph,war文件中WEB-INF/classes/log4j.properties中的log4j.properties。war文件中的
    log4j.properties
    ?如果是,在哪个文件夹中?嗨,Ralph,war文件中WEB-INF/classes/log4j.properties中的log4j.properties。如果我以编程方式运行服务器,并且没有任何
    start.ini
    文件,该怎么办。您有解决方案吗?如果我以编程方式运行服务器,并且没有任何
    start.ini
    文件,该怎么办。你有解决办法吗?