我正在使用Eclipse Kepler,我正在 Jboss EAP 6.1 中运行Java Web应用程序。今天早上我注意到在部署和运行我的Web应用程序后,没有控制台输出即将到来。
但控制台输出显示我何时启动Jboss并显示所有应用程序部署的所有内容等。但之后没有任何内容在控制台中打印。
有人可以告诉我可能是什么原因我尝试了在Stackoverflow中发布的不同-2问题中提到的大量内容。
更新: -
我试过下面的代码
public class test {
public static void main(String arg[]){
System.out.println("hariom");
}
}
并将其结果打印在控制台中,但是当我部署并运行Web应用程序时,只有它没有显示任何内容。
答案 0 :(得分:7)
问题将在您的服务器中添加以下VM参数
请转Eclipse->Server Tab -> Click on Open Launch Configuration ->VM arguments
并在VM参数部分
中添加此参数-Dorg.jboss.as.logging.per-deployment=false
此处link更详细地介绍了该问题
在阅读了本帖中的内容之后,我正在尝试 总结了每部署标志的使用:
1.0当per-deployment为true时(默认):
1.1 AS7.1.2正在扫描部署中的日志配置文件(WAR),如果找到配置文件,那么 部署将获得自己的日志上下文并通过 配置文件。
1.2找到属性文件后,将读取该文件并将应用程序日志记录转到指定日志的任何位置 (使用相应的处理程序)。
1.3记录罐不需要包含在应用程序中。
2.0将标志设置为false会禁用此功能,部署扫描程序将不会查找这些文件。因此:
2.1您必须使用jboss-deployment-structure.xml来排除您正在使用的AS服务器的日志记录依赖项并将其包含在内 你的部署。
2.2记录功能由应用程序决定。应用程序应具有所有配置文件并且必需 库(这就是必须排除服务器库的原因)
2.3如果应用程序具有例如log4j.xml但没有log4j依赖项。该应用程序将停止记录。
就个人而言,我正在使用-Dorg.jboss.as.logging.per-deployment = false 我在部署期间错过了依赖项错误 在控制台中显示缺少的类的堆栈跟踪。 否则,我们在AS7的控制台(和server.log)中遇到的唯一错误是: 具有缺失/不可用依赖性的服务不容易追踪缺失的内容 依赖性。