2
回答
JFinal在weblogic下的bug
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   

在用war包发布weblogic时,一直报找不到config.properties文件,但是解压出来再发布就没问题。

后来问了朋友才发现问题所在,看了下JFinal的源码,发现如下:

inputStream = new FileInputStream(new File(fullFile));
Properties p = new Properties();
p.load(inputStream);
properties = p;

weblogic发布war包的时候,他自动解压时,文件存放路径不是在war的同级目录,所以这样用FileInputStream是找不到的,修改如下:

Properties p = new Properties();
   p.load(new CanYouConfig().getClass().getResourceAsStream("/config.properties"));
   properties=p;

这样修改之后在weblogic下再次部署报的错误是loadPropertyFile必须要在xxxx之前,因为我修改不了JFinalConfig里的Properties

所以目前这个问题解决不了了。

 

作者在下个版本里是否可以做更新?

@JFinal

 

举报
子寒
发帖于4年前 2回/830阅
共有2个答案 最后回答: 4年前

   在 tomcat、jetty 下不存在此问题,所以目测是 weblogic 没有遵守 war 解压标准或者打war 包时有错误存在。

   即便如此,也可在解压 war 后改变配置文件位置来解决问题。

   最后, JFinal 不建议采这样的部署方式,建议在生产环境的服务器上利用 svn 或 git 直接 checkout 下项目,然后用 maven 编译后直接重启 weblogic 来部署项目,将svn与maven等操作流程写个脚本实现自动化

--- 共有 1 条评论 ---
子寒我对war解压不太明白,目前项目采用的是先加压出来,然后把加压后的文件进行部署,其实跟你后面说的用svn或者git下项目部署是一样的方式。 至于weblogic,我问过一些用weblogic的大牛,他们都说在weblogic下必须用那样的方式去获取资源,所以JFinal能否考虑下weblogic下的环境,纯属个人建议。 4年前 回复
顶部