2020-10-15 20:36

参考
https://my.oschina.net/jfinal/blog/353062

2020-10-15 19:03

添加配置:
// 4.6 之前的版本的配置方式: me.setProxyFactory(new CglibProxyFactory());
me.setToCglibProxyFactory(); // 4.6 版本新增配置方式

这里有文档:
https://jfinal.com/doc/4-8

可能的原因是被代理的类中有一些比较复杂的泛型无法被代理

2020-10-15 18:30

先用 mvn clean install 将一些依赖的多模块安装到 maven 库,然后在主模块上通过 mvn clean package 打最终的包

第一步或许也并不需要,你直接在主模块上 mvn clean package 试一试

2020-10-15 16:57

@alldzz 已添加: https://gitee.com/jfinal/jfinal/commit/ae947ec9603cc97979259ff28befb37a2a7af63d

2020-10-15 16:01

@nnana 用 winrar 打开 jar 包,看主类的 .class 文件是不是真的存在,深入到细节,看现场

这种打包部署方式用了两年了,一定可以的,你碰到的很可能仍然是一个细心的问题

如果还是不能解决,下载官网首页的 jfinal-demo-for-maven.zip,使用里面的那两个脚本去修改,以防你自己手头的脚本已经被破坏

2020-10-15 15:39

@alldzz 将缓存起来的 kv 值清掉,然后新进入的值都是新版本 kv 序列化以后的结果就可以解决

jfinal 这边可以为 Kv 添加 serialVersionUID,但添加这个东东代码稍稍难看点

2020-10-15 15:36

修改 jfinal.sh 中的 MAIN_CLASS 配置,要注意大小写问题以及包名要对

文档提供了有关脚本问题:
https://jfinal.com/doc/1-5
注意看第 7 部分:脚本无法使用问题

2020-10-15 15:03

@itld 用 jfinal undertow 开发比 Tomcat 爽太多了,开发,打包部署一体化

2020-10-15 14:32

通常是 web.xml 配置不对,仔细检查包名、大小写之类的细节

2020-10-15 13:58

@alldzz 统一 serialVersionUID 就能解决这个问题,是一个好办法,这个变量控制序列化与反序列化

2020-10-15 12:54

@haojay 这个可以有,先上一批已经明确的刚需 application

2020-10-15 12:40

Kv 这个类添加过新的方法,从你的提问中看到应该是反序列化的时候出的问题

简单说就是序列化与反序列化使用了不同版本的 Kv,造成了这个异常,可以通过将 serialVersionUID 修改成一样的值来解决,也可以同时升级客户端与服务端的到 jfinal 4.9.02 来解决

还有一个办法是用 HashMap 代替 Kv 的使用

2020-10-14 15:57

上传了几张 demo 图片,图片中的人物都挺漂亮,赏心悦目,开开心心每一天多好

2020-10-14 15:14

@jonesxr 很可能是浏览器私自干的这事,jfinal 内部绝对没干预过,你单步调试一下就知道了

2020-10-14 01:26

@tom 不同的数据库连接池有不同的检测方式,例如 druid 就有一个 validationQuery 配置,这个可以对 DruidPlugin 进行配置:setSalidationQuery(String)

hikaricp 没有用过,它应该也有这种机制,你可以找找他的文档看一下, druid 的相关配置也做个参考:
https://www.jianshu.com/p/c9845884d735

另外一个简单的办法是像网络框架那样使用类似心跳检测的机制,定时发送请求检测连接是否可用

可以单独用一个线程,定时检测,mysql 下可以使用 Db.query("SELECT 1"),将之放在 try catch 中,出现异常则表明无法连通:
try {
Db.query("SELECT 1");
return "正常";
}
catch(Exception e) {
return "无法连接";
}