最近在生产环境部署Tomcat的时候,在启动的时候,在控制台报“java.lang.ClassNotFoundException: 1catalina.org.apache.juli.FileHandler”这样子类似的错误。

原因

这个极有可能是因为你修改了catalina.sh文件(比如,你想修改下JVM的参数等)。

这个错误,会导致在Tomcat的logs目录下的localhost.yyyy-MM-dd这类的日志文件不会进行记录的了。

解决办法

正确的处理方式为: 在Tomcat的安装目录下的bin目录下,修改daemon.sh的文件,然后写入你想要修改的参数,比如我的如下:

#!/bin/sh

CATALINA_OPTS="-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n"
CLASSPATH=
JAVA_OPTS=
CATALINA_OPTS="-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager"

说明:

-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager:这个参数就是解决上面报的问题的 -Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n: 这个参数是使用远程调试的

还有一点要特别注意的是:它是使用CATALINA_OPTS参数,而不是JAVA_OPTS。不知道为什么,我在JAVA_OPTS里修改,一直没有生效。*_*

这个问题困惑了我好久,今天终于认真看看Tomcat官方文档,才得以解决。

更新

2016-7-5

经过学习,CATALINA_OPTS参数是针对Tomcat本身的, 而JAVA_OPTS则是控制我们的应用的.所以JAVA_OPTS里修改这参数,并没有传递到CATALINA_OPTS里.

转自:https://emacsist.github.io/2015/08/28/Tomcat%E6%8A%A5java.lang.ClassNotFoundException-1catalina.org.apache.juli.FileHandler/

Tomcat报java.lang.ClassNotFoundException: 1catalina.org.apache.juli.FileHandler的更多相关文章

  1. Tomcat报错java.lang.ClassNotFoundException: 2localhost.org.apache.juli.FileHandler

    Can't load log handler "1catalina.org.apache.juli.FileHandler" java.lang.ClassNotFoundExce ...

  2. ssh整合启动tomcat报java.lang.ClassNotFoundException: org.apache.commons.lang.xwork.StringUtils

    今天搭建了一个ssh项目环境,整合后,访问项目首页,登录不进去,控制台报错,后来调试代码后,在获取数据库数据后,返回到action时,又进入了action导致死循环,其实这里是两个问题,控制台报错如下 ...

  3. 解决kylin sync table报错:MetaException(message:java.lang.ClassNotFoundException Class org.apache.hive.hcatalog.data.JsonSerDe not found

    在kylin-gui中sync表default.customer_visit时报错: -- ::, ERROR [http-bio--exec-] controller.BasicController ...

  4. Oozie时bin/oozied.sh start或bin/oozied.sh run出现Bootstrap进程无法启动,http://bigdatamaster:11000/oozie界面也无法打开?E0103: Could not load service classes, java.lang.ClassNotFoundException: Class org.apache.oozie.ser

    不多说,直接上干货! 问题详情 [hadoop@bigdatamaster oozie--cdh5.5.4]$ bin/oozied.sh start Setting OOZIE_HOME: /hom ...

  5. maven 工程依赖了某个jar包 但还是报java.lang.ClassNotFoundException的问题

    一般出现这种情况,首先看看 pom.xml 文件引用的jar文件有没有损坏.或者下载不完整,打开maven仓库根据依赖地址可以查看. 如果还是出现问题,报 java.lang.ClassNotFoun ...

  6. dubbo启动报java.lang.ClassNotFoundException: javassist.ClassPath

    原文: dubbo启动报java.lang.ClassNotFoundException: javassist.ClassPath         在dubbo启动的过程中报错误:java.lang. ...

  7. idea启动tomcat后访问项目报java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet

    一.报错“java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet” 1.File --- ...

  8. mvn -v报java.lang.ClassNotFoundException

    Tips: 比如要下载版本3.2.5的,请选择binaries下的apache-maven-3.2.5-bin.zip. binaries 指的是可以执行的. source 指的源码. 下载地址:ht ...

  9. jdbc报java.lang.ClassNotFoundException: com.mysql.jdbc.Drive

    今天从开始写了一个jdbc连接mysql驱动的程序 真的是各种报错啊 首先这是代码 package com.dmeck; import java.sql.Connection; import java ...

随机推荐

  1. IOS开发UI基础UIImagePickerController的属性

    UIImagePickerController 1.+(BOOL)isSourceTypeAvailable:(UIImagePickerControllerSourceType)sourceType ...

  2. ios基础之入门(一)

    最近找到了一个可以接触ios开发的职位,可以系统的学习和练习了.先从最基本的开始: 一.获取控件的两种方式 1)第一种,也是经常使用的一种,通过IBOutlet方式.直接按住control键,将控件和 ...

  3. [课程设计]Scrum日记本项目进度

    Sprint 1时间:11.14-11.23 冲刺一这一阶段中主要实现的是界面和互交(已实现这两个功能) 燃尽图: 项目进度: 第一阶段:现阶段已经实现界面和互交. 第二阶段:进行填入信息,并记录日期 ...

  4. Array,List,Struct可能被大家忽略的问题

    Q1: 首先定义一个结构 public struct MyStruct { public int T; } 定义一个泛型List来存放结构体,然后访问第一个元素去修改T,输出T: List<My ...

  5. 重构第9天:提取接口(Extract Interface)

    理解:提取接口的意思是,多于一个类共同使用某个类中的方法或属性,那么我们可以把这些方法和属性提出来,作为一个单独的接口.这样的好处是解除代码间的依赖,降低耦合性. 详解: 先看重构前的代码: publ ...

  6. Free Slideshow, Gallery And Lightboxes Scripts

    http://bootstraphelpers.codeplex.com/SourceControl/list/changesets https://github.com/gordon-matt/Bo ...

  7. 安装多JDK后,java编译环境和运行环境版本(JDK版本) 不一致解决:

    由于之前安装过JDK1.7 ,现在一个项目是JDK1.5的,那么需要更改了环境变量了,此处不再赘述如何设置JDK 的环境变量了.然后网上找来方法: 在安装多个jdk后,出现了java -version ...

  8. 备份一张iPhone拍照写入exif中的orientation图片

  9. 通过GPS数据反向地理信息编码, 得到当前位置信息

    检查可用性 这属于基础知识, 不赘述, 总的来说,你的设备的支持要打开, 添加CoreLocation的framework, 引用头文件, 添加委托,然后, 好的实践是在使用前编程检查相关可用性: - ...

  10. 利用Jquery使用HTML5的FormData属性实现对文件的上传

    1.利用Jquery使用HTML5的FormData属性实现对文件的上传 在HTML5以前我们如果需要实现文件上传服务器等功能的时候,有时候我们不得不依赖于FLASH去实现,而在HTML5到来之后,我 ...