2021-11-11 08:38
这个问题可能和路径中带有中文有关。
我调试了下,在undertow环境下运行的时候,在编译加强后的文件时com.sun.tools.javac.main.Main#compile(java.lang.String[], java.lang.String[], com.sun.tools.javac.util.Context, com.sun.tools.javac.util.List, java.lang.Iterable)方法中的参数中文能够正常显示
但是在非web环境下直接进行加强时中文会编码%e9%82%b5%e8这种格式。导致报类似的错误
@JFinal @蓝雨007
2020-10-24 16:47
这些目录都是存在的
1. 我把项目打包后放到服务器的 /root/app下,此时的项目下存在的文件夹有config,lib,webapp,脚本(jfinal.sh)在项目根目录,脚本里面的配置为 CP=${APP_BASE_PATH}/config:${APP_BASE_PATH}/lib/*
2. 复制config -> config2和lib->lib2以及脚本jfinal.sh -> jfinal2.sh,修改脚本内容( CP=${APP_BASE_PATH}/config2:${APP_BASE_PATH}/lib2/* )
3. 运行jfinal.sh, PathKit.getRootClassPath()获取到的路径为/root/app/config
4. 运行jfinal2.sh, PathKit.getRootClassPath()获取到的路径为/root/app/lib2/config
5. 之所以复制一份处理是因为我打算做集群部署,但配置需要更改,一开始我只是把修改脚本里面的config换成config2,然后发现获取到的项目根路径还是/root/app/config。
让我想不明白的是结果后面都会有config,按道理来讲也应该是获取到/root/app/或/root/app/lib(jfnal.sh)