Java Apache Tomcat Cataline文件更改未反映!
我正在windows xp prefossional SP3上使用apache-tomcat-6.0.18 我的要求是在JVM和http-头之间的Tomcat管理器=>Server Status=>中显示附加信息(如组织名称)。我修改了catalina.jar源代码中的文件“org.apache.catalina.manager.StatusTransformer::writeConnectorState”,并向其中添加了简单文本。示例代码是Java Apache Tomcat Cataline文件更改未反映!,java,apache,jar,tomcat6,catalina,Java,Apache,Jar,Tomcat6,Catalina,我正在windows xp prefossional SP3上使用apache-tomcat-6.0.18 我的要求是在JVM和http-头之间的Tomcat管理器=>Server Status=>中显示附加信息(如组织名称)。我修改了catalina.jar源代码中的文件“org.apache.catalina.manager.StatusTransformer::writeConnectorState”,并向其中添加了简单文本。示例代码是 public static void writeC
public static void writeConnectorState(PrintWriter writer, ObjectName tpName, String name, MBeanServer mBeanServer, Vector globalRequestProcessors, Vector requestProcessors, int mode)throws Exception{
if (mode == 0) {
// START - Added New Code to display org name
writer.print("<h1>");
writer.print("XYZ Organization.");
writer.print("</h1>");
// END - Added New Code to display org name
writer.print("<h1>");
writer.print(name);
writer.print("</h1>");
writer.print("<p>");
writer.print(" Max threads: ");
writer.print(mBeanServer.getAttribute(tpName, "maxThreads"));
writer.print(" Current thread count: ");
writer.print(mBeanServer.getAttribute(tpName, "currentThreadCount"));
writer.print(" Current thread busy: ");
writer.print(mBeanServer.getAttribute(tpName, "currentThreadsBusy"));
...........
...........
}else{
.........
}// end if-else }// method end
public static void writeConnectorState(PrintWriter编写器、ObjectName tpName、字符串名、MBeanServer MBeanServer、Vector globalRequestProcessors、Vector requestProcessors、int模式)引发异常{
如果(模式==0){
//开始-添加新代码以显示组织名称
作者:印刷体(“”);
writer.print(“XYZ组织”);
作者:印刷体(“”);
//结束-添加新代码以显示组织名称
作者:印刷体(“”);
作者、印刷品(姓名);
作者:印刷体(“”);
writer.print(“”);
writer.print(“最大线程:”);
print(mBeanServer.getAttribute(tpName,“maxThreads”);
writer.print(“当前线程数:”);
print(mBeanServer.getAttribute(tpName,“currentThreadCount”);
writer.print(“当前线程忙:”);
print(mBeanServer.getAttribute(tpName,“currentThreadsBusy”);
...........
...........
}否则{
.........
}//end if else}//方法end
再次使用修改过的代码创建catalina.jar。并替换为来自catalina_home/bin的现有jar。重新启动tomcat,但没有任何结果
即使我从catalina_home/bin中删除catalina.jar并启动tomcat,它也能工作
即使在重新启动系统后我也尝试了,但我的更改没有反映出来
请帮我解答以下问题
对此不是100%确定,但我认为您应该将修改后的catalina.jar放在
catalina_home/lib
中,因为我相信web应用程序就是在这里加载共享库的(Tomcat Manager只是catalina_home/webapps/
下的另一个应用程序)
编辑:我检查了我们的一台服务器,在
catalina_home/bin
下没有catalina.jar
,只有在catalina_home/lib
下,实际上我在发布时没有注意到路径,它是catalina_home/lib
而不是catalina_home/bin
。