因为JRrun4在国内很少使用,所以碰到问题在中文网站上很难找到。
使用google.com到英文网站上找,问题还是很容易解决的。
今天天碰到的两个问题:
1.提示 java.lang.ClassNotFoundException: org.apache.log4j.Layout
2. 提示:jrun.jsp.compiler.JRunTagLibraryInfo$InvalidTLDElementException: The tag function on line 14 is not a valid TLD element(这个问题Tomcat也会碰到)
问题原因:jrun4本身已经引入了一些jar包,在应用web-inf/lib里面再次引入jar包时导致冲突。
解决办法:删除web-inf/lib下相关的jar包
log4j-1.2.13.jar
xml-apis.jar
xmlParserAPIs.jar
standard.jar
错误日志距离:
Error:
06/19 10:30:31 error Could not pre-load servlet: JSPServlet
[2]jrun.jsp.compiler.JRunTagLibraryInfo$InvalidTLDElementException: The tag function on line 14 is not a valid TLD element
[2]jrun.jsp.compiler.JRunTagLibraryInfo$InvalidTLDElementException: The tag function on line 14 is not a valid TLD element
at jrun.jsp.compiler.JRunTagLibraryInfo$TLDParser.startElement(JRunTagLibraryInfo.java:627)
at jrunx.util.SAXReflectionHandler.startElement(SAXReflectionHandler.java:24)
at org.xml.sax.helpers.XMLReaderAdapter.startElement(XMLReaderAdapter.java:329)
at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1490)
at org.apache.crimson.parser.Parser2.content(Parser2.java:1779)
at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1507)
at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:500)
at org.apache.crimson.parser.Parser2.parse(Parser2.java:305)
at org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:442)
at org.xml.sax.helpers.XMLReaderAdapter.parse(XMLReaderAdapter.java:223)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:314)
at jrun.jsp.compiler.JRunTagLibraryInfo.init(JRunTagLibraryInfo.java:202
at jrun.jsp.compiler.JRunTagLibraryInfo.<init>(JRunTagLibraryInfo.java:130)
at jrun.jsp.JSPEngine.checkResourceForTaglibs(JSPEngine.java:460)
at jrun.jsp.JSPEngine.findImplicitTaglibs(JSPEngine.java:428)
at jrun.jsp.JSPEngine.<init>(JSPEngine.java:120)
at jrun.jsp.JSPServlet.init(JSPServlet.java:56)
at jrun.servlet.WebApplicationService.loadServlet(WebApplicationService.java:1208)
at jrun.servlet.WebApplicationService.preloadServlets(WebApplicationService.java:763)
at jrun.servlet.WebApplicationService.postStart(WebApplicationService.java:258)
at jrun.deployment.DeployerService.initModules(DeployerService.java:711)
at jrun.deployment.DeployerService.createWatchedDeployment(DeployerService.java:242)
at jrun.deployment.DeployerService.deploy(DeployerService.java:430)
at jrun.deployment.DeployerService.deployPersistentURL(DeployerService.java:1532)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1628)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
at jrunx.kernel.agents.JRunAdminService.invoke(JRunAdminService.java:126)
at sun.reflect.GeneratedMethodAccessor52.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at jrunx.rmi.RMIBroker.invokeService(RMIBroker.java:266)
at jrunx.rmi.RMIBroker.invoke(RMIBroker.java:130)
at sun.reflect.GeneratedMethodAccessor46.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
at sun.rmi.transport.Transport$1.run(Transport.java:148)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
at java.lang.Thread.run(Thread.java:536)
[1]jrun.jsp.compiler.JRunTagLibraryInfo$TLDParseException: Exception parsing the TLD null : The tag function on line 14 is not a valid TLD element
at jrun.jsp.compiler.JRunTagLibraryInfo.init(JRunTagLibraryInfo.java:210)
at jrun.jsp.compiler.JRunTagLibraryInfo.<init>(JRunTagLibraryInfo.java:130)
at jrun.jsp.JSPEngine.checkResourceForTaglibs(JSPEngine.java:460)
at jrun.jsp.JSPEngine.findImplicitTaglibs(JSPEngine.java:428)
at jrun.jsp.JSPEngine.<init>(JSPEngine.java:120)
at jrun.jsp.JSPServlet.init(JSPServlet.java:56)
at jrun.servlet.WebApplicationService.loadServlet(WebApplicationService.java:1208)
at jrun.servlet.WebApplicationService.preloadServlets(WebApplicationService.java:763)
at jrun.servlet.WebApplicationService.postStart(WebApplicationService.java:258)
at jrun.deployment.DeployerService.initModules(DeployerService.java:711)
at jrun.deployment.DeployerService.createWatchedDeployment(DeployerService.java:242)
at jrun.deployment.DeployerService.deploy(DeployerService.java:430)
at jrun.deployment.DeployerService.deployPersistentURL(DeployerService.java:1532)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1628)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
at jrunx.kernel.agents.JRunAdminService.invoke(JRunAdminService.java:126)
at sun.reflect.GeneratedMethodAccessor52.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at jrunx.rmi.RMIBroker.invokeService(RMIBroker.java:266)
at jrunx.rmi.RMIBroker.invoke(RMIBroker.java:130)
at sun.reflect.GeneratedMethodAccessor46.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
at sun.rmi.transport.Transport$1.run(Transport.java:148)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
at java.lang.Thread.run(Thread.java:536)
[0]javax.servlet.ServletException: Exception parsing the TLD null : The tag function on line 14 is not a valid TLD element
at jrun.jsp.JSPEngine.findImplicitTaglibs(JSPEngine.java:434)
at jrun.jsp.JSPEngine.<init>(JSPEngine.java:120)
at jrun.jsp.JSPServlet.init(JSPServlet.java:56)
at jrun.servlet.WebApplicationService.loadServlet(WebApplicationService.java:1208)
at jrun.servlet.WebApplicationService.preloadServlets(WebApplicationService.java:763)
at jrun.servlet.WebApplicationService.postStart(WebApplicationService.java:258)
at jrun.deployment.DeployerService.initModules(DeployerService.java:711)
at jrun.deployment.DeployerService.createWatchedDeployment(DeployerService.java:242)
at jrun.deployment.DeployerService.deploy(DeployerService.java:430)
at jrun.deployment.DeployerService.deployPersistentURL(DeployerService.java:1532)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1628)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
at jrunx.kernel.agents.JRunAdminService.invoke(JRunAdminService.java:126)
at sun.reflect.GeneratedMethodAccessor52.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at jrunx.rmi.RMIBroker.invokeService(RMIBroker.java:266)
at jrunx.rmi.RMIBroker.invoke(RMIBroker.java:130)
at sun.reflect.GeneratedMethodAccessor46.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
at sun.rmi.transport.Transport$1.run(Transport.java:148)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
at java.lang.Thread.run(Thread.java:536)