打包成的exe出现下面的错误运行不了,求大佬指教。@JFinal

java.lang.NoClassDefFoundError: com/jfinal/ext/route/AutoBindRoutes

        at java.lang.Class.getDeclaredMethods0(Native Method)

        at java.lang.Class.privateGetDeclaredMethods(Class.java:2625)

        at java.lang.Class.getDeclaredMethod(Class.java:2015)

        at com.exe4j.runtime.LauncherEngine.launch(Unknown Source)

        at com.exe4j.runtime.WinLauncher.main(Unknown Source)

Caused by: java.lang.ClassNotFoundException: com.jfinal.ext.route.AutoBindRoutes

        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:425)

        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)

        at java.lang.ClassLoader.loadClass(ClassLoader.java:358)

        ... 5 more


评论区

JFinal

2020-06-04 16:12

AutoBindRoutes 这种东东打到 exe 中去以后不一定工作正常,改成 jfinal 官方的路由用法即可

注意:所有的 AutoBindRoutes 这类扩展都不是 jfinal 官方的,jfinal 一直不提倡这种用法

wsitm

2020-06-04 17:20

@JFinal 相信很多人都是从 springMVC 过来的,为什么这个路由不模仿springMVC的方式,同时也支持现有方式,照顾一下强迫症者(我也是搞题主的模式的)

JFinal

2020-06-04 17:36

@老宇 因为 jfinal 的路由方式有很多的优点是 spring 那种模式不具备的

相反的, spring 那种模式还有很多的缺点

这个讨论以前有过很多,已经有比较明确的共识

JFinal

2020-06-04 17:40

话说回来,jfinal 有自己的风格与理念,如果照 spring 的路再走一次的话,jfinal 也就没有存在的价值了

所以,jfinal 的很多理念与 spring 都是完全相反的,例如 jfinal 追求极度轻量级,所以代码量只有 spring 组合框架的几十分之一,甚至几百分之一,任何有 java 基础的同学都可以很容易完全掌控

再例如 jfinal 追求小而精,spring 追求大而全

其实,没有完美的战略,任何好战略的反面也是另一种好的战略。 世界总是这样,连世界上最完美的东西数学都是这样的

cqztt

2020-06-05 10:27

@JFinal /**
* 配置路由
*/
@Override
public void configRoute(Routes me) {
this.routes = me;
me.add(new AutoBindRoutes()); // 自动绑定路由
}
不好意思,问一下,那么应该怎么改呢?非常感谢

JFinal

2020-06-05 10:33

@cqztt 文档很详细

热门反馈

扫码入社