2020-08-05 14:47

通过手动设置类加载器为系统默认加载器后,有效
context.setClassLoader(ClassLoader.getSystemClassLoader());

2020-08-05 14:25

@lxhxka
发现的确不一样,不知道为何会不一样。
curInterClass 的 类加载器为:sun.misc.Launcher$AppClassLoader@18b4aac2
ci 的 类加载器为:org.eclipse.jetty.webapp.WebAppClassLoader=jfinal offical website@72d1ad2e

2020-08-04 13:16

@lxhxka 自己写jetty代码加载, 用java Runtime.exec执行main方法启动:

public static void main(String[] args) {
String port = args[0];
String webRoot = args[1];
String extClassPath = args[2];
System.out.println("port:" + args[0] + "\nwebRoot:" + args[1] + "\nextClassPath:" + extClassPath + "\n");
try {
startWithJetty(Integer.parseInt(port), webRoot, extClassPath);
} catch (Exception exception) {
exception.printStackTrace();
}
}

public static void startWithJetty(int port, String webroot, String extClassPath) throws Exception {
Server server = new Server(port);
WebAppContext context = new WebAppContext();
context.setContextPath("/");
context.setResourceBase(webroot);// 指定webapp目录
context.setExtraClasspath(extClassPath);
server.setHandler(context);
server.start();
server.join();
}

2020-08-03 20:10

@JFnial

2019-09-17 15:45

关于Jfinal-undertow在 Intellij IDEA 下执行时模板路径不正确问题解决!
https://my.oschina.net/imlzw/blog/3106769