我正试图将一个定制班子召集到Log4J,详见。 该类别使用<代码>java.util.regex.Matcher,以识别标志信息中的潜在信用卡号码。 它非常完美地进行单位测试,在包含单一服务器的最低限度网络仪器中也是如此。 然而,当我试图用我们在博什的手表部署时,我有以下错误:
--- MBEANS THAT ARE THE ROOT CAUSE OF THE PROBLEM ---
ObjectName: jboss.web.deployment:war=MyWebApp-2010_02-SNAPSHOT.war,id=476602902
State: FAILED
Reason: java.lang.LinkageError: java/util/regex/Matcher
我甚至发现这种错误形式的任何信息——通常,联系人似乎用“载荷限制违反”的信息显示,例如here。
技术细节:我们使用JBoss 4.2, Java 5,log4J 1.2.12。 我们用耳机(除别的外)使用上述“战争档案”和单列的“杰尔”档案中“习俗布局”等。 我们凌驾于位于不同系列的<条码>jbos-log4j.xml中的缺省环境,在起步的班次中添加这一条码。
<>Update to @skaffman save:
我们有单独的记录4j.properties文档的原因是由Sapient碳传播的计划。 这基本上使应用服务器环境中的配置和数据文档脱钩,以便通过碳研究功能加以利用,并储存在服务器外的名录上。 我们继承了这一安排,我们对此表示仇恨,因为它给我们带来了部署、阶级问题等许多麻烦。 因为它没有加入《联合经济、社会、文化权利国际公约》。 我们的目标是从长远来看摆脱这种局面,但是它需要时间:
尽管单项记录4j.properties档案并非最佳做法,但它肯定是行之有效的。 多年来,它一直在我们的工作中发挥作用,我还可以用一个包含单一保护工具(而不是使用沙眼碳)的极小的网络工具开展工作。 如果将原木4j.properties投入到教室中,Log4J在启动网络评估时正确读,并相应重新配置伐木。
<><>Update#2: 一个令人感兴趣的结论是,MyWebApp甚至没有使用Matcher
,只是在共同单元(和另一个单元,单单在杰尔)中使用。 以前,在MyWebApp通过其他模块间接使用的一个称为“StingHelper”的类别中使用了该软件。
我猜测,这项规则排除了由不同班轮载体装载的两种不同的“匹配”类别。 因此,我剩下的唯一猜测是,在从杰尔和战争中使用马提尔时,马提尔被两个不同的舱载体装载,然后试图从一个到另一个。 http://frankkieviet.blogspot.com/2009/03/javalanglinkageeror-loader-constraint.html Frank Kyiet sillian article 。 然而,我认为,这种设置会造成“负荷限制违约”,而不是这种错误形式。
www.un.org/Depts/DGACM/index_spanish.htm 更新第3号:如果我增加http://www.redhat.com/docs/manuals/jbos/jbos-eap-4.2/doc/Server_Configuration_Guide/LinkageErrors_Sure_You_Are_Who_Say_You_Are-Debugging_Class_Loading_Issues.html#Debugging_Class_Loadrellog_Ises-An_exlele_ose4jxrml. 这显然必须做的是装货记录4j.jar,因为这一装置要求将轮胎放在服务器校准目录中。 如果我把投射器类型改为org.jboss.logging.appender.FileAppender
,并将标识水平改为
www.un.org/Depts/DGACM/index_spanish.htm 这一错误信息是什么意思,我如何适当加以确定?
Epilogue
经过长时间的等待,我最后不得不从伐木过程中消除碳,并将我们的伐木群移至server/conf/jboss-log4j.xml
。 这就要求我在<编码>服务器/lib目录中单独出版一个焦.级。 之后,舱载重工作再次进行,没有上文更新第3号中所述工作: