我正在学习EJB,并且我试图将一个示例部署到JBoss 6上5天没有太多运气。 Maven构建可以在这里下载http://db.tt/pW9Vb99Q
我收到以下错误
16:20:14,804 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/music-store-web]] Servlet /music-store-web threw load() exception: java.lang.NoClassDefFoundError: Could not initialize class org.jboss.logmanager.log4j.LevelMapping
at org.jboss.logmanager.log4j.BridgeLogger.log(BridgeLogger.java:173) [:1.0.0.GA]
非常感谢
答案 0 :(得分:0)
感谢您的追溯。它表明你没有找到log4j。这几乎肯定是配置问题。
这是一个建议:
用于Web中自定义log4j初始化的Bootstrap侦听器 环境。代表Log4jWebConfigurer(参见其javadoc for 配置细节)。
警告:
假设扩展的WAR文件,用于加载配置文件 并用于写入日志文件。 如果您希望保持WAR未扩展或不需要特定于应用程序 在WAR目录下的日志文件中,不要使用log4j设置 应用程序(因此,不要使用Log4jConfigListener或Log4jConfigServlet)。 相反,使用全局的VM范围的log4j设置(例如,在JBoss中)或JDK 1.4 java.util.logging(也是全局的)。
ALSO: 确保你没有以某种方式拥有两个版本的log4j。冲突的log4j * .jar文件也可能导致此错误。