3
回答
jfinal 启动错误,请大家指教
注册华为云得mate10,2.9折抢先购!>>>   

我在看 jfinal 技术文档时,文档提供了一个简单的demo,但我照文档上执行报错,搞了半天,不知道什么原因,之前也在网上找过累死问题,但还是不管用,请高手指教

web.xml 配置为

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    id="WebApp_ID" version="3.0">
    
    <filter>
        <filter-name>jfinal</filter-name>
        <filter-class>com.jfinal.core.JFinalFilter</filter-class>
        <init-param>
            <param-name>configClass</param-name>
            <param-value>demo.DemoConfig</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>jfinal</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
</web-app>


Starting JFinal 1.4
Starting scanner at interval of 5 seconds.
Starting web server on port: 80
2013-09-03 09:14:12.919:WARN:oejuc.AbstractLifeCycle:FAILED jfinal: java.lang.RuntimeException: Can not create instance of class: demo.DemoConfig. Please check the config in web.xml
java.lang.RuntimeException: Can not create instance of class: demo.DemoConfig. Please check the config in web.xml
    at com.jfinal.core.JFinalFilter.createJFinalConfig(JFinalFilter.java:99)
    at com.jfinal.core.JFinalFilter.init(JFinalFilter.java:47)
    at org.eclipse.jetty.servlet.FilterHolder.doStart(FilterHolder.java:119)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
    at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:724)
    at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:265)
    at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
    at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:706)
    at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:492)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
    at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:95)
    at org.eclipse.jetty.server.Server.doStart(Server.java:277)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
    at com.jfinal.server.JettyServer.doStart(JettyServer.java:117)
    at com.jfinal.server.JettyServer.start(JettyServer.java:64)
    at com.jfinal.core.JFinal.main(JFinal.java:179)
2013-09-03 09:14:12.919:WARN:oejw.WebAppContext:Failed startup of context o.e.j.w.WebAppContext{/,file:/E:/workspace/jfinal_demo/WebRoot/}
java.lang.RuntimeException: Can not create instance of class: demo.DemoConfig. Please check the config in web.xml
    at com.jfinal.core.JFinalFilter.createJFinalConfig(JFinalFilter.java:99)
    at com.jfinal.core.JFinalFilter.init(JFinalFilter.java:47)
    at org.eclipse.jetty.servlet.FilterHolder.doStart(FilterHolder.java:119)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
    at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:724)
    at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:265)
    at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
    at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:706)
    at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:492)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
    at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:95)
    at org.eclipse.jetty.server.Server.doStart(Server.java:277)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
    at com.jfinal.server.JettyServer.doStart(JettyServer.java:117)
    at com.jfinal.server.JettyServer.start(JettyServer.java:64)
    at com.jfinal.core.JFinal.main(JFinal.java:179)
Starting Complete. Welcome To The JFinal World :)

Loading changes ......
2013-09-03 10:24:43.140:WARN:oejs.FilterHolder:
java.lang.NullPointerException
    at com.jfinal.core.JFinalFilter.destroy(JFinalFilter.java:86)
    at org.eclipse.jetty.servlet.FilterHolder.destroyInstance(FilterHolder.java:153)
    at org.eclipse.jetty.servlet.FilterHolder.doStop(FilterHolder.java:131)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:89)
    at org.eclipse.jetty.servlet.ServletHandler.doStop(ServletHandler.java:204)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:89)
    at org.eclipse.jetty.server.handler.HandlerWrapper.doStop(HandlerWrapper.java:107)
    at org.eclipse.jetty.security.SecurityHandler.doStop(SecurityHandler.java:395)
    at org.eclipse.jetty.security.ConstraintSecurityHandler.doStop(ConstraintSecurityHandler.java:463)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:89)
    at org.eclipse.jetty.server.handler.HandlerWrapper.doStop(HandlerWrapper.java:107)
    at org.eclipse.jetty.server.session.SessionHandler.doStop(SessionHandler.java:136)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:89)
    at org.eclipse.jetty.server.handler.HandlerWrapper.doStop(HandlerWrapper.java:107)
    at org.eclipse.jetty.server.handler.ContextHandler.doStop(ContextHandler.java:805)
    at org.eclipse.jetty.servlet.ServletContextHandler.doStop(ServletContextHandler.java:160)
    at org.eclipse.jetty.webapp.WebAppContext.doStop(WebAppContext.java:516)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:89)
    at com.jfinal.server.JettyServer$1.onChange(JettyServer.java:102)
    at com.jfinal.server.Scanner.compare(Scanner.java:87)
    at com.jfinal.server.Scanner.working(Scanner.java:56)
    at com.jfinal.server.Scanner.access$0(Scanner.java:54)
    at com.jfinal.server.Scanner$1.run(Scanner.java:93)
    at java.util.TimerThread.mainLoop(Unknown Source)
    at java.util.TimerThread.run(Unknown Source)
2013-09-03 10:24:43.359:WARN:oejuc.AbstractLifeCycle:FAILED jfinal: java.lang.RuntimeException: Can not create instance of class: demo.DemoConfig. Please check the config in web.xml
java.lang.RuntimeException: Can not create instance of class: demo.DemoConfig. Please check the config in web.xml
    at com.jfinal.core.JFinalFilter.createJFinalConfig(JFinalFilter.java:99)
    at com.jfinal.core.JFinalFilter.init(JFinalFilter.java:47)
    at org.eclipse.jetty.servlet.FilterHolder.doStart(FilterHolder.java:119)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
    at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:724)
    at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:265)
    at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
    at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:706)
    at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:492)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
    at com.jfinal.server.JettyServer$1.onChange(JettyServer.java:103)
    at com.jfinal.server.Scanner.compare(Scanner.java:87)
    at com.jfinal.server.Scanner.working(Scanner.java:56)
    at com.jfinal.server.Scanner.access$0(Scanner.java:54)
    at com.jfinal.server.Scanner$1.run(Scanner.java:93)
    at java.util.TimerThread.mainLoop(Unknown Source)
    at java.util.TimerThread.run(Unknown Source)
2013-09-03 10:24:43.359:WARN:oejw.WebAppContext:Failed startup of context o.e.j.w.WebAppContext{/,file:/E:/workspace/jfinal_demo/WebRoot/}
java.lang.RuntimeException: Can not create instance of class: demo.DemoConfig. Please check the config in web.xml
    at com.jfinal.core.JFinalFilter.createJFinalConfig(JFinalFilter.java:99)
    at com.jfinal.core.JFinalFilter.init(JFinalFilter.java:47)
    at org.eclipse.jetty.servlet.FilterHolder.doStart(FilterHolder.java:119)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
    at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:724)
    at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:265)
    at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
    at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:706)
    at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:492)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
    at com.jfinal.server.JettyServer$1.onChange(JettyServer.java:103)
    at com.jfinal.server.Scanner.compare(Scanner.java:87)
    at com.jfinal.server.Scanner.working(Scanner.java:56)
    at com.jfinal.server.Scanner.access$0(Scanner.java:54)
    at com.jfinal.server.Scanner$1.run(Scanner.java:93)
    at java.util.TimerThread.mainLoop(Unknown Source)
    at java.util.TimerThread.run(Unknown Source)
Loading complete.

Loading changes ......
2013-09-03 10:25:03.358:WARN:oejs.FilterHolder:
java.lang.NullPointerException
    at com.jfinal.core.JFinalFilter.destroy(JFinalFilter.java:86)
    at org.eclipse.jetty.servlet.FilterHolder.destroyInstance(FilterHolder.java:153)
    at org.eclipse.jetty.servlet.FilterHolder.doStop(FilterHolder.java:131)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:89)
    at org.eclipse.jetty.servlet.ServletHandler.doStop(ServletHandler.java:204)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:89)
    at org.eclipse.jetty.server.handler.HandlerWrapper.doStop(HandlerWrapper.java:107)
    at org.eclipse.jetty.security.SecurityHandler.doStop(SecurityHandler.java:395)
    at org.eclipse.jetty.security.ConstraintSecurityHandler.doStop(ConstraintSecurityHandler.java:463)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:89)
    at org.eclipse.jetty.server.handler.HandlerWrapper.doStop(HandlerWrapper.java:107)
    at org.eclipse.jetty.server.session.SessionHandler.doStop(SessionHandler.java:136)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:89)
    at org.eclipse.jetty.server.handler.HandlerWrapper.doStop(HandlerWrapper.java:107)
    at org.eclipse.jetty.server.handler.ContextHandler.doStop(ContextHandler.java:805)
    at org.eclipse.jetty.servlet.ServletContextHandler.doStop(ServletContextHandler.java:160)
    at org.eclipse.jetty.webapp.WebAppContext.doStop(WebAppContext.java:516)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:89)
    at com.jfinal.server.JettyServer$1.onChange(JettyServer.java:102)
    at com.jfinal.server.Scanner.compare(Scanner.java:87)
    at com.jfinal.server.Scanner.working(Scanner.java:56)
    at com.jfinal.server.Scanner.access$0(Scanner.java:54)
    at com.jfinal.server.Scanner$1.run(Scanner.java:93)
    at java.util.TimerThread.mainLoop(Unknown Source)
    at java.util.TimerThread.run(Unknown Source)
2013-09-03 10:25:03.562:WARN:oejuc.AbstractLifeCycle:FAILED jfinal: java.lang.RuntimeException: Can not create instance of class: demo.DemoConfig. Please check the config in web.xml
java.lang.RuntimeException: Can not create instance of class: demo.DemoConfig. Please check the config in web.xml
    at com.jfinal.core.JFinalFilter.createJFinalConfig(JFinalFilter.java:99)
    at com.jfinal.core.JFinalFilter.init(JFinalFilter.java:47)
    at org.eclipse.jetty.servlet.FilterHolder.doStart(FilterHolder.java:119)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
    at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:724)
    at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:265)
    at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
    at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:706)
    at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:492)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
    at com.jfinal.server.JettyServer$1.onChange(JettyServer.java:103)
    at com.jfinal.server.Scanner.compare(Scanner.java:87)
    at com.jfinal.server.Scanner.working(Scanner.java:56)
    at com.jfinal.server.Scanner.access$0(Scanner.java:54)
    at com.jfinal.server.Scanner$1.run(Scanner.java:93)
    at java.util.TimerThread.mainLoop(Unknown Source)
    at java.util.TimerThread.run(Unknown Source)
2013-09-03 10:25:03.562:WARN:oejw.WebAppContext:Failed startup of context o.e.j.w.WebAppContext{/,file:/E:/workspace/jfinal_demo/WebRoot/}
java.lang.RuntimeException: Can not create instance of class: demo.DemoConfig. Please check the config in web.xml
    at com.jfinal.core.JFinalFilter.createJFinalConfig(JFinalFilter.java:99)
    at com.jfinal.core.JFinalFilter.init(JFinalFilter.java:47)
    at org.eclipse.jetty.servlet.FilterHolder.doStart(FilterHolder.java:119)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
    at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:724)
    at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:265)
    at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
    at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:706)
    at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:492)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
    at com.jfinal.server.JettyServer$1.onChange(JettyServer.java:103)
    at com.jfinal.server.Scanner.compare(Scanner.java:87)
    at com.jfinal.server.Scanner.working(Scanner.java:56)
    at com.jfinal.server.Scanner.access$0(Scanner.java:54)
    at com.jfinal.server.Scanner$1.run(Scanner.java:93)
    at java.util.TimerThread.mainLoop(Unknown Source)
    at java.util.TimerThread.run(Unknown Source)
Loading complete.

<无标签>
举报
云的乐乐
发帖于4年前 3回/10K+阅

以下是问题补充:

共有3个答案 最后回答: 4年前

引用来自“iSea”的答案

web.xml的配置呢?config类内容呢?
<filter>
        <filter-name>jfinal</filter-name>
        <filter-class>com.jfinal.core.JFinalFilter</filter-class>
        <init-param>
            <param-name>configClass</param-name>
            <param-value>demo.DemoConfig</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>jfinal</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

Can not create instance of class: demo.DemoConfig.

觉得应该是你的路径有问题, 打开你项目的java build path面板, 然后找到default output folder, 把这里的输出改为your_project/WebRoot/WEB-INF/classes

--- 共有 5 条评论 ---
zxd张旭东 回复 @FansUnion : 请问 您还记得是怎么解决的吗?我java build path 完成正确,还是报错啊 9个月前 回复
fmpoffice回复 @FansUnion : 怎么解决的呢? 1年前 回复
ifzer回复 @투판시 : 你的是同样的问题?如果是的话, 需要检查下web.xml的配置路径, 如果是web路径没找到的话, 需要在启动的时候, 在run configuration 的arguments里面配置4个相关的参数, 具体的你可以查下, 我记得好像是这样: 1. 本地的webapp路径 2. port 3.web访问路径,一般为/ 4.代码变动监测时间 3年前 回复
투판시你是如何解决的呢? 3年前 回复
FansUnion我今天也遇到这个问题了,已解决。 3年前 回复
顶部