Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/337.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 Apache Tomcat Cataline文件更改未反映!_Java_Apache_Jar_Tomcat6_Catalina - Fatal编程技术网

Java Apache Tomcat Cataline文件更改未反映!

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

我正在windows xp prefossional SP3上使用apache-tomcat-6.0.18

我的要求是在JVMhttp-头之间的Tomcat管理器=>Server Status=>中显示附加信息(如组织名称)。我修改了catalina.jar源代码中的文件“org.apache.catalina.manager.StatusTransformer::writeConnectorState”,并向其中添加了简单文本。示例代码是

 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,它也能工作

即使在重新启动系统后我也尝试了,但我的更改没有反映出来

请帮我解答以下问题

  • 我是否修改了错误的文件
  • 没有catalina.jar,tomcat如何运行
  • 如何反映这些变化?i、 还有别的办法吗

  • 对此不是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