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 "无法连接";
}

2020-10-13 21:06

@fox 达到 100 个 application 的时候效果应该会很不一样

2020-10-13 20:39

jfinal undertow 目前面向的是标准的 maven 项目结构,用了两年了,一直很好

你的 .class 文件输出到了 build/classes/java/main 下面,这个我以前没见过,没用过 gradle

此外,如果你要解决,可以直接改 jfinal undertow,然后 mvn clean install 将 jfinal undertow 安装到本地使用,类似的方法有介绍:
https://jfinal.com/share/2093

此外,gradle 将 .class 文件输出到 java/main 下面这事我觉得挺奇怪,我估计应该有简单的配置,指定输出路径

最后,本站有直接贴代码的功能,源代码不必截图,注意点击在线编辑器上的下拉按钮,选择 java,即可贴源码并发布