tomcat启动时出现:警告: Couldn't initialize Jasper
java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory
at org.apache.jasper.runtime.JspFactoryImpl.<init>(JspFactoryImpl.java:44)
at org.apache.jasper.compiler.JspRuntimeContext.<clinit>(JspRuntimeContext.java:82)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:270)
at org.apache.catalina.core.JasperListener.lifecycleEvent(JasperListener.java:65)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:402)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:99)
at org.apache.catalina.startup.Catalina.load(Catalina.java:640)
at org.apache.catalina.startup.Catalina.load(Catalina.java:665)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:281)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:455)
Caused by: java.lang.ClassNotFoundException: org.apache.juli.logging.LogFactory
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 17 more
求有经验的说下解决方法,弄了一天了,还是不行,快疯了!Tomcat
java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory
at org.apache.jasper.runtime.JspFactoryImpl.<init>(JspFactoryImpl.java:44)
at org.apache.jasper.compiler.JspRuntimeContext.<clinit>(JspRuntimeContext.java:82)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:270)
at org.apache.catalina.core.JasperListener.lifecycleEvent(JasperListener.java:65)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:402)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:99)
at org.apache.catalina.startup.Catalina.load(Catalina.java:640)
at org.apache.catalina.startup.Catalina.load(Catalina.java:665)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:281)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:455)
Caused by: java.lang.ClassNotFoundException: org.apache.juli.logging.LogFactory
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 17 more
求有经验的说下解决方法,弄了一天了,还是不行,快疯了!Tomcat
解决方案 »
- 我的java项目跑到一点点就不动了,下面Console的输出结果,大家帮我看看什么问题?
- TomCat在MyEclipse里启动相当慢!
- ssh2中操作 clob类型报错 求解决方案
- googleMap应用疑惑?
- 改程序
- struts2方法过滤拦截器如何获取Action请求对应的方法
- jsp与数据库的问题(100分)
- jsp与SQL SERVER 的问题?在线等!!!!
- mysql中的查询条件特例问题???
- 上传文件到数据库里,提示java.lang.NullPointerException,弱弱的问这是什么问题?
- 急求大婶知道,代码部分都弄好了,就是登录不上,是不是struts.xml配置错了?
- 请教下为什么strus2请求路径后自动添加.do
不好意思我这几天刚学web,前辈能说的详细点么?我点击startup.bat就出现了那个错误,求解.
可以试试
windwo->preferences->MyEclipse Enterprise workbench->servers->tomcat
选择版本之后有点开有个paths把缺的jar加进去试试
放到tomcat的lib目录下试了,还是出错.
放到tomcat的lib目录下试了,还是出错.编辑catalina.bat 文件
set CLASSPATH=%CATALINA_HOME%\bin\tomcat-juli.jar
放到tomcat的lib目录下试了,还是出错.编辑catalina.bat 文件
set CLASSPATH=%CATALINA_HOME%\bin\tomcat-juli.jar
还是出错.前辈,我把我的tomcat文件上传上来,你运行下试试,看怎么解决?行不?
ApacheJavaTomcatMyeclipse
自己前一段时间出现了这个问题,通过在网上搜索,大概知道了原因,整理下一,以供大家参考。
将项目部署好后,启动tomcat后报错,java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory
报这个错说明你用的是tomcat7。 目前的MyEclipse的内核为Eclipse3.5.* 尚不能提供直接对tomcat 7的支持,最新的Eclipse3.6.*可以直接支持。
解决方法有两个:
一、打开myeclipse,Preferentces->MyEclipse->Servers->Tomcat->Tomcat 6.x
,载入Tomcat7,在"Paths"下,点击“Add JAR/ZIP”,加载tomcat7下的……/bin/tomcat-juli.jar。点击“OK”.
二、可以设置环境变量添加classpath到CATALINE_HOME/bin/tomcat-juli.jar,Tomcat默认启动会自动加载。
classpath=……;%CATALINA_HOME%\bin\tomcat-juli.jar; ok了,这两个方法都是可以的,希望给大家带来方便。
首先,要在环境变量处,配置JAVA_HOME,注意变量值是jdk的主目录,不是bin目录,并且不要加分号,如图:
然后,如果这样配置,startup.bat还是一闪而过,可以右键点击startup.bat,编辑,在文本的最后敲上pause,保存后重新运行startup.bat,这时候窗口不会再一闪而过,而是停留在桌面上(调试成功,把pause去掉即可)。如果有错误信息,这时候会显示出来,可以再根据它的错误提示,上网搜索对应的解决办法,下面是在错误提示窗口遇到过的问题:
一、 Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
Tomcat的startup.bat,它调用了catalina.bat,而catalina.bat则调用了setclasspath.bat,只要在setclasspath.bat的开头声明环境变量(红色两行)就可以了,原因是后来较新版本安装完不会自动登记环境变量JAVA_HOME,JRE_HOME。
给setclasspath.bat的开头添加红色标记部分,如下:
rem ---------------------------------------------------------------------------
rem Set CLASSPATH and Java options
rem
rem $Id: setclasspath.bat 505241 2007-02-09 10:22:58Z jfclere $
rem ---------------------------------------------------------------------------set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_20
set JRE_HOME=C:\Program Files\Java\jre6rem Make sure prerequisite environment variables are set
if not "%JAVA_HOME%" == "" goto gotJdkHome
if not "%JRE_HOME%" == "" goto gotJreHome
echo Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
echo At least one of these environment variable is needed to run this program
goto exit这样在每次运行startup.bat时就自动注册了JAVA_HOME,JRE_HOME。
运行startup.bat,提示“信息:Server startup in xxxxx ms” OK 大功告成。
二、Cannot find ""d:\apache-tomcat-6.0.32"\bin\setclasspath.bat"
这个时候,可能是CATALINA_HOME的值在某个地方被写死了,像我的绿色版tomcat在bin文件下多了一个setenv.bat的文件,打开一看果然是在这里面被写死了CATALINA_HOME的路径,这应该是为了某种原因被人后加上的设置文件,把这个文件删除之后,tomcat可以正常运行了。这种情况,可以去看catalina.bat中的配置,如下图,可能配置死的内容就在这个文件里。
[email protected]太激动了
[email protected]太激动了
启动正常啊~~十月 12, 2013 9:33:41 上午 org.apache.catalina.core.AprLifecycleListener init
信息: Loaded APR based Apache Tomcat Native library 1.1.27 using APR version 1.4
.6.
十月 12, 2013 9:33:41 上午 org.apache.catalina.core.AprLifecycleListener init
信息: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], ra
ndom [true].
十月 12, 2013 9:33:42 上午 org.apache.catalina.core.AprLifecycleListener initial
izeSSL
信息: OpenSSL successfully initialized (OpenSSL 1.0.1d 5 Feb 2013)
十月 12, 2013 9:33:44 上午 org.apache.coyote.AbstractProtocol init
信息: Initializing ProtocolHandler ["http-apr-8080"]
十月 12, 2013 9:33:44 上午 org.apache.coyote.AbstractProtocol init
信息: Initializing ProtocolHandler ["ajp-apr-8009"]
十月 12, 2013 9:33:44 上午 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 3817 ms
十月 12, 2013 9:33:44 上午 org.apache.catalina.core.StandardService startInterna
l
信息: Starting service Catalina
十月 12, 2013 9:33:44 上午 org.apache.catalina.core.StandardEngine startInternal信息: Starting Servlet Engine: Apache Tomcat/7.0.42
十月 12, 2013 9:33:44 上午 org.apache.catalina.startup.HostConfig deployDirector
y
信息: Deploying web application directory E:\apache-tomcat-7.0.42\webapps\ch02
十月 12, 2013 9:33:44 上午 org.apache.catalina.util.SessionIdGenerator createSec
ureRandom
信息: Creation of SecureRandom instance for session ID generation using [SHA1PRN
G] took [139] milliseconds.
十月 12, 2013 9:33:44 上午 org.apache.catalina.startup.HostConfig deployDirector
y
信息: Deploying web application directory E:\apache-tomcat-7.0.42\webapps\docs
十月 12, 2013 9:33:45 上午 org.apache.catalina.startup.HostConfig deployDirector
y
信息: Deploying web application directory E:\apache-tomcat-7.0.42\webapps\exampl
es
十月 12, 2013 9:33:45 上午 org.apache.catalina.startup.HostConfig deployDirector
y
信息: Deploying web application directory E:\apache-tomcat-7.0.42\webapps\host-m
anager
十月 12, 2013 9:33:45 上午 org.apache.catalina.startup.HostConfig deployDirector
y
信息: Deploying web application directory E:\apache-tomcat-7.0.42\webapps\manage
r
十月 12, 2013 9:33:45 上午 org.apache.catalina.startup.HostConfig deployDirector
y
信息: Deploying web application directory E:\apache-tomcat-7.0.42\webapps\ROOT
十月 12, 2013 9:33:45 上午 org.apache.catalina.startup.HostConfig deployDirector
y
信息: Deploying web application directory E:\apache-tomcat-7.0.42\webapps\Test
十月 12, 2013 9:33:46 上午 org.apache.coyote.AbstractProtocol start
信息: Starting ProtocolHandler ["http-apr-8080"]
十月 12, 2013 9:33:46 上午 org.apache.coyote.AbstractProtocol start
信息: Starting ProtocolHandler ["ajp-apr-8009"]
十月 12, 2013 9:33:46 上午 org.apache.catalina.startup.Catalina start
信息: Server startup in 2294 ms
E:\apache-tomcat-7.0.42\bin>java -version
java version "1.7.0_02"
Java(TM) SE Runtime Environment (build 1.7.0_02-b13)
Java HotSpot(TM) 64-Bit Server VM (build 22.0-b10, mixed mode)
[email protected]太激动了
启动正常啊~~十月 12, 2013 9:33:41 上午 org.apache.catalina.core.AprLifecycleListener init
信息: Loaded APR based Apache Tomcat Native library 1.1.27 using APR version 1.4
.6.
十月 12, 2013 9:33:41 上午 org.apache.catalina.core.AprLifecycleListener init
信息: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], ra
ndom [true].
十月 12, 2013 9:33:42 上午 org.apache.catalina.core.AprLifecycleListener initial
izeSSL
信息: OpenSSL successfully initialized (OpenSSL 1.0.1d 5 Feb 2013)
十月 12, 2013 9:33:44 上午 org.apache.coyote.AbstractProtocol init
信息: Initializing ProtocolHandler ["http-apr-8080"]
十月 12, 2013 9:33:44 上午 org.apache.coyote.AbstractProtocol init
信息: Initializing ProtocolHandler ["ajp-apr-8009"]
十月 12, 2013 9:33:44 上午 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 3817 ms
十月 12, 2013 9:33:44 上午 org.apache.catalina.core.StandardService startInterna
l
信息: Starting service Catalina
十月 12, 2013 9:33:44 上午 org.apache.catalina.core.StandardEngine startInternal信息: Starting Servlet Engine: Apache Tomcat/7.0.42
十月 12, 2013 9:33:44 上午 org.apache.catalina.startup.HostConfig deployDirector
y
信息: Deploying web application directory E:\apache-tomcat-7.0.42\webapps\ch02
十月 12, 2013 9:33:44 上午 org.apache.catalina.util.SessionIdGenerator createSec
ureRandom
信息: Creation of SecureRandom instance for session ID generation using [SHA1PRN
G] took [139] milliseconds.
十月 12, 2013 9:33:44 上午 org.apache.catalina.startup.HostConfig deployDirector
y
信息: Deploying web application directory E:\apache-tomcat-7.0.42\webapps\docs
十月 12, 2013 9:33:45 上午 org.apache.catalina.startup.HostConfig deployDirector
y
信息: Deploying web application directory E:\apache-tomcat-7.0.42\webapps\exampl
es
十月 12, 2013 9:33:45 上午 org.apache.catalina.startup.HostConfig deployDirector
y
信息: Deploying web application directory E:\apache-tomcat-7.0.42\webapps\host-m
anager
十月 12, 2013 9:33:45 上午 org.apache.catalina.startup.HostConfig deployDirector
y
信息: Deploying web application directory E:\apache-tomcat-7.0.42\webapps\manage
r
十月 12, 2013 9:33:45 上午 org.apache.catalina.startup.HostConfig deployDirector
y
信息: Deploying web application directory E:\apache-tomcat-7.0.42\webapps\ROOT
十月 12, 2013 9:33:45 上午 org.apache.catalina.startup.HostConfig deployDirector
y
信息: Deploying web application directory E:\apache-tomcat-7.0.42\webapps\Test
十月 12, 2013 9:33:46 上午 org.apache.coyote.AbstractProtocol start
信息: Starting ProtocolHandler ["http-apr-8080"]
十月 12, 2013 9:33:46 上午 org.apache.coyote.AbstractProtocol start
信息: Starting ProtocolHandler ["ajp-apr-8009"]
十月 12, 2013 9:33:46 上午 org.apache.catalina.startup.Catalina start
信息: Server startup in 2294 ms为啥我启动有错误!怎么搞得?是什么问题?前辈你是直接在bin/startup.dat启动的吗?
JAVA_HOME:D:\Program Files\Java\jdk1.7.0_40
Path:...;%CATALINA_HOME%\lib;%CATALINA_HOME%\lib\servlet-api.jar;%CATALINA_HOME%\lib\jsp-api.jar不要自己设置 CATALINA_HOME, apache-tomcat-7.0.42 放到D盘根目录下D:\Paht变量不要添加 那些.jar文件
JAVA_HOME:D:\Program Files\Java\jdk1.7.0_40
Path:...;%CATALINA_HOME%\lib;%CATALINA_HOME%\lib\servlet-api.jar;%CATALINA_HOME%\lib\jsp-api.jar不要自己设置 CATALINA_HOME, apache-tomcat-7.0.42 放到D盘根目录下D:\Paht变量不要添加 那些.jar文件
前辈,非常感谢你的帮助,问题找到了,有次编译项目缺少sevrlet-api.jar,我就把tomcat下的lib目录下的jasper.jar,servlet-api.jar,jasper-el.jar,jsp-api.jar放到了JDK的lib目录了.造成重复了吧. 噢,问下前辈,为啥不要设置CATALINA_HOME?一些书上都说要设置的,Tomcat7.x版本更特殊吗?望解答!马上结贴给分...
JAVA_HOME:D:\Program Files\Java\jdk1.7.0_40
Path:...;%CATALINA_HOME%\lib;%CATALINA_HOME%\lib\servlet-api.jar;%CATALINA_HOME%\lib\jsp-api.jar不要自己设置 CATALINA_HOME, apache-tomcat-7.0.42 放到D盘根目录下D:\Paht变量不要添加 那些.jar文件
前辈,非常感谢你的帮助,问题找到了,有次编译项目缺少sevrlet-api.jar,我就把tomcat下的lib目录下的jasper.jar,servlet-api.jar,jasper-el.jar,jsp-api.jar放到了JDK的lib目录了.造成重复了吧. 噢,问下前辈,为啥不要设置CATALINA_HOME?一些书上都说要设置的,Tomcat7.x版本更特殊吗?望解答!马上结贴给分...catalina.bat 是tomcat的启动脚本, 里面脚本有设置,不需要自己设置,从tomcat4开始就不需要自己弄。 更老的是否需要就不知道了。
JAVA_HOME:D:\Program Files\Java\jdk1.7.0_40
Path:...;%CATALINA_HOME%\lib;%CATALINA_HOME%\lib\servlet-api.jar;%CATALINA_HOME%\lib\jsp-api.jar不要自己设置 CATALINA_HOME, apache-tomcat-7.0.42 放到D盘根目录下D:\Paht变量不要添加 那些.jar文件
前辈,非常感谢你的帮助,问题找到了,有次编译项目缺少sevrlet-api.jar,我就把tomcat下的lib目录下的jasper.jar,servlet-api.jar,jasper-el.jar,jsp-api.jar放到了JDK的lib目录了.造成重复了吧. 噢,问下前辈,为啥不要设置CATALINA_HOME?一些书上都说要设置的,Tomcat7.x版本更特殊吗?望解答!马上结贴给分...catalina.bat 是tomcat的启动脚本, 里面脚本有设置,不需要自己设置,从tomcat4开始就不需要自己弄。 更老的是否需要就不知道了。噢,懂了,以后遇到问题更要麻烦你了.,好了,结贴了.