代码拉取完成,页面将自动刷新
使用官方的demo for jsp代码,在IntellJ中导入,JDK版本为1.7 64bit。
仅作以下修改
public class IndexController extends Controller {
public void index() {
// render("index.jsp");
renderText("ee");
}
}
并编译,JFinal自动加载class时报错:
"C:\Program Files\Java\jdk1.7.0_55\bin\java" -Didea.launcher.port=7534 "-Didea.launcher.bin.path=C:\Program Files (x86)\JetBrains\IntelliJ IDEA 14.1.1\bin" -Dfile.encoding=GBK -classpath "C:\Users\caosh\Downloads\jfinal_demo_for_jsp\WebRoot\WEB-INF\classes;C:\Program Files\Java\jdk1.7.0_55\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.7.0_55\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.7.0_55\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.7.0_55\jre\lib\jce.jar;C:\Program Files\Java\jdk1.7.0_55\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.7.0_55\jre\lib\jfxrt.jar;C:\Program Files\Java\jdk1.7.0_55\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.7.0_55\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.7.0_55\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.7.0_55\jre\lib\resources.jar;C:\Program Files\Java\jdk1.7.0_55\jre\lib\rt.jar;C:\Program Files\Java\jdk1.7.0_55\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.7.0_55\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.7.0_55\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.7.0_55\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.7.0_55\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.7.0_55\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.7.0_55\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.7.0_55\jre\lib\ext\zipfs.jar;C:\Users\caosh\Downloads\jfinal_demo_for_jsp\WebRoot\WEB-INF\lib\c3p0-0.9.1.2.jar;C:\Users\caosh\Downloads\jfinal_demo_for_jsp\WebRoot\WEB-INF\lib\javax.servlet.jsp.jstl-1.2.0.v201105211821.jar;C:\Users\caosh\Downloads\jfinal_demo_for_jsp\WebRoot\WEB-INF\lib\jetty-server-8.1.8.jar;C:\Users\caosh\Downloads\jfinal_demo_for_jsp\WebRoot\WEB-INF\lib\jfinal-1.9-bin-with-src.jar;C:\Users\caosh\Downloads\jfinal_demo_for_jsp\WebRoot\WEB-INF\lib\log4j-1.2.16.jar;C:\Users\caosh\Downloads\jfinal_demo_for_jsp\WebRoot\WEB-INF\lib\mysql-connector-java-5.1.20-bin.jar;C:\Users\caosh\Downloads\jfinal_demo_for_jsp\WebRoot\WEB-INF\lib\org.apache.taglibs.standard.glassfish-1.2.0.v201112081803.jar;C:\Program Files (x86)\JetBrains\IntelliJ IDEA 14.1.1\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMain com.demo.common.DemoConfig Starting JFinal 1.9 Starting scanner at interval of 5 seconds. Starting web server on port: 8082 Starting Complete. Welcome To The JFinal World :) Loading changes ...... 2015-05-09 16:58:22.220:WARN:oejuc.AbstractLifeCycle:FAILED jfinal: java.lang.IllegalAccessError: class sun.reflect.GeneratedConstructorAccessor8 cannot access its superclass sun.reflect.ConstructorAccessorImpl java.lang.IllegalAccessError: class sun.reflect.GeneratedConstructorAccessor8 cannot access its superclass sun.reflect.ConstructorAccessorImpl at sun.misc.Unsafe.defineClass(Native Method) at sun.reflect.ClassDefiner.defineClass(ClassDefiner.java:63) at sun.reflect.MethodAccessorGenerator$1.run(MethodAccessorGenerator.java:399) at sun.reflect.MethodAccessorGenerator$1.run(MethodAccessorGenerator.java:396) at java.security.AccessController.doPrivileged(Native Method) at sun.reflect.MethodAccessorGenerator.generate(MethodAccessorGenerator.java:395) at sun.reflect.MethodAccessorGenerator.generateConstructor(MethodAccessorGenerator.java:94) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:48) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:526) at com.mysql.jdbc.Util.handleNewInstance(Util.java:411) at com.mysql.jdbc.ResultSetImpl.getInstance(ResultSetImpl.java:383) at com.mysql.jdbc.MysqlIO.buildResultSetWithRows(MysqlIO.java:3140) at com.mysql.jdbc.MysqlIO.getResultSet(MysqlIO.java:491) at com.mysql.jdbc.MysqlIO.readResultsForQueryOrUpdate(MysqlIO.java:3118) at com.mysql.jdbc.MysqlIO.readAllResults(MysqlIO.java:2288) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2709) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2677) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2627) at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1556) at com.mchange.v2.c3p0.impl.NewProxyStatement.executeQuery(NewProxyStatement.java:35) at com.jfinal.plugin.activerecord.TableBuilder.doBuild(TableBuilder.java:63) at com.jfinal.plugin.activerecord.TableBuilder.build(TableBuilder.java:40) at com.jfinal.plugin.activerecord.ActiveRecordPlugin.start(ActiveRecordPlugin.java:171) at com.jfinal.core.Config.startPlugins(Config.java:87) at com.jfinal.core.Config.configJFinal(Config.java:48) at com.jfinal.core.JFinal.init(JFinal.java:67) at com.jfinal.core.JFinalFilter.init(JFinalFilter.java:49) 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:106) 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(Timer.java:555) at java.util.TimerThread.run(Timer.java:505) 2015-05-09 16:58:22.222:WARN:oejuc.AbstractLifeCycle:FAILED o.e.j.w.WebAppContext{/,file:/C:/Users/caosh/Downloads/jfinal_demo_for_jsp/WebRoot/}: java.lang.IllegalAccessError: class sun.reflect.GeneratedConstructorAccessor8 cannot access its superclass sun.reflect.ConstructorAccessorImpl java.lang.IllegalAccessError: class sun.reflect.GeneratedConstructorAccessor8 cannot access its superclass sun.reflect.ConstructorAccessorImpl at sun.misc.Unsafe.defineClass(Native Method) at sun.reflect.ClassDefiner.defineClass(ClassDefiner.java:63) at sun.reflect.MethodAccessorGenerator$1.run(MethodAccessorGenerator.java:399) at sun.reflect.MethodAccessorGenerator$1.run(MethodAccessorGenerator.java:396) at java.security.AccessController.doPrivileged(Native Method) at sun.reflect.MethodAccessorGenerator.generate(MethodAccessorGenerator.java:395) at sun.reflect.MethodAccessorGenerator.generateConstructor(MethodAccessorGenerator.java:94) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:48) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:526) at com.mysql.jdbc.Util.handleNewInstance(Util.java:411) at com.mysql.jdbc.ResultSetImpl.getInstance(ResultSetImpl.java:383) at com.mysql.jdbc.MysqlIO.buildResultSetWithRows(MysqlIO.java:3140) at com.mysql.jdbc.MysqlIO.getResultSet(MysqlIO.java:491) at com.mysql.jdbc.MysqlIO.readResultsForQueryOrUpdate(MysqlIO.java:3118) at com.mysql.jdbc.MysqlIO.readAllResults(MysqlIO.java:2288) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2709) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2677) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2627) at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1556) at com.mchange.v2.c3p0.impl.NewProxyStatement.executeQuery(NewProxyStatement.java:35) at com.jfinal.plugin.activerecord.TableBuilder.doBuild(TableBuilder.java:63) at com.jfinal.plugin.activerecord.TableBuilder.build(TableBuilder.java:40) at com.jfinal.plugin.activerecord.ActiveRecordPlugin.start(ActiveRecordPlugin.java:171) at com.jfinal.core.Config.startPlugins(Config.java:87) at com.jfinal.core.Config.configJFinal(Config.java:48) at com.jfinal.core.JFinal.init(JFinal.java:67) at com.jfinal.core.JFinalFilter.init(JFinalFilter.java:49) 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:106) 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(Timer.java:555) at java.util.TimerThread.run(Timer.java:505) Exception in thread "JFinal-Scanner" java.lang.IllegalAccessError: class sun.reflect.GeneratedConstructorAccessor8 cannot access its superclass sun.reflect.ConstructorAccessorImpl at sun.misc.Unsafe.defineClass(Native Method) at sun.reflect.ClassDefiner.defineClass(ClassDefiner.java:63) at sun.reflect.MethodAccessorGenerator$1.run(MethodAccessorGenerator.java:399) at sun.reflect.MethodAccessorGenerator$1.run(MethodAccessorGenerator.java:396) at java.security.AccessController.doPrivileged(Native Method) at sun.reflect.MethodAccessorGenerator.generate(MethodAccessorGenerator.java:395) at sun.reflect.MethodAccessorGenerator.generateConstructor(MethodAccessorGenerator.java:94) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:48) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:526) at com.mysql.jdbc.Util.handleNewInstance(Util.java:411) at com.mysql.jdbc.ResultSetImpl.getInstance(ResultSetImpl.java:383) at com.mysql.jdbc.MysqlIO.buildResultSetWithRows(MysqlIO.java:3140) at com.mysql.jdbc.MysqlIO.getResultSet(MysqlIO.java:491) at com.mysql.jdbc.MysqlIO.readResultsForQueryOrUpdate(MysqlIO.java:3118) at com.mysql.jdbc.MysqlIO.readAllResults(MysqlIO.java:2288) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2709) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2677) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2627) at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1556) at com.mchange.v2.c3p0.impl.NewProxyStatement.executeQuery(NewProxyStatement.java:35) at com.jfinal.plugin.activerecord.TableBuilder.doBuild(TableBuilder.java:63) at com.jfinal.plugin.activerecord.TableBuilder.build(TableBuilder.java:40) at com.jfinal.plugin.activerecord.ActiveRecordPlugin.start(ActiveRecordPlugin.java:171) at com.jfinal.core.Config.startPlugins(Config.java:87) at com.jfinal.core.Config.configJFinal(Config.java:48) at com.jfinal.core.JFinal.init(JFinal.java:67) at com.jfinal.core.JFinalFilter.init(JFinalFilter.java:49) 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:106) 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(Timer.java:555) at java.util.TimerThread.run(Timer.java:505)
后来换用Eclipse,热加载是成功的。不知道有没有在IntelliJ下的可行方案?