JFinal热加载异常?报错-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

JFinal热加载异常?报错

爱吃鱼的程序员 2020-06-22 19:53:31 24

@JFinal 你好,想跟你请教个问题:


项目启动正常,然后热加载的时候重新加载
configRoute
会报错 The controllerKey already exists

断点Routes map 在热加载的时候,map里面的数据没有重置,会出现如上异常。

疑问:难道热加载不先清掉Routes,然后重新加载一遍吗?

上面用的是JFinal1.3
另外分别尝试了之前JFinal1.1+JFinal1.3的Demo工程也出现了上述问题。

@绝望的八皮@龙影@Mike_Liu

分享到
取消 提交回答
全部回答(1)
  • 爱吃鱼的程序员
    2020-06-22 19:53:47

    从没碰到过这种情况,在 com.jfinal.core.ActionMapping.buildActionMapping()方法的第一行加一句mapping.clear();试试看回复<aclass='referer'target='_blank'>@JFinal:我知道不是JFinal要求的,但是不这么放不是会出现热加载异常问题吗?回复<aclass='referer'target='_blank'>@杰文:不是JFinal要求的,是JavaWeb项目规范要求的,BAE要求放项目根目录下属于他自己的规范回复<aclass='referer'target='_blank'>@JFinal:刚才了解到BAE环境lib要求放在工程根目录,这个和JFinal要求的放在WebRoot/WEB-INF/lib会有冲突吗?Project——src——lib——WebRoot——WEB-INF——web.xml回复<aclass='referer'target='_blank'>@杰文:JFinal通过jetty启动了项目,这个启动过程是可以设置外部jar包的,与普通java项目一样。但jetty启动以后又会当成是web项目去WEB-INF下面去找jar,所以这两种方式同时上可能有问题,具体原因不明回复<aclass='referer'target='_blank'>@JFinal:在经过N轮尝试之后发现最终原因是我将lib放在了项目下面,然后手工加载,并没有将lib放到WEB-INF下面,导致了这一系列的问题。这个是必须放在WEB-INF下面吗?心有力而余不足~ ClassLoader方面的东西我接触的还是有点少 嘻。哈哈:)不可能吧,你都整了一个项目了,那你启动的时候没有异常过??
    我第一次整JFinal1.1的时候也没遇到过,诡异的是,昨天把,之前正常的,拿出来测试居然都不正常了。不解。。我曾经遇到过这个问题。。无解中。我现在是百发百中,每次重新加载都这样,连八皮大神都无解,坐等<aclass='referer'target='_blank'>@JFinal

    我也遇到这个问题,这个应该就是classloder的问题 我是引入外部的Jerrty和Jfinal1.4热启动就会抱这个错

    解决方法是把外部的Jfinal放到Lib下面

    0 0
云计算
使用钉钉扫一扫加入圈子
+ 订阅

时时分享云计算技术内容,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

推荐文章