能正常运行的jfinal项目在用maven打包时报错

发布于 2021-11-26 12:45:17 字数 831 浏览 785 评论 6

以前一直用eclipse的导出war包,可正常在tomcat下运行

昨天将项目转成maven管理的后,用maven install会报错,异常如下:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project project_name: Compilation failure
[ERROR] /D:/git/project_name/src/com/jfinal/plugin/activerecord/Model.java:[501,32] 不兼容的类型: com.jfinal.plugin.activerecord.Model无法转换为M
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException


如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

陌若浮生 2021-11-29 19:12:13

引用来自“JFinal”的评论

       刚看了一下 jfinal 1.9 的 Model 的 503 行代码:return findById(id, "*");  改成 return (M)findById(id, "*");
应该就可以了。其实这个 findById(String) 方法转调了 findById(String, String) 方法,而后者返回的是泛型,是正确的代码,而有些 maven 版本有 bug,无法正确识别更深层次的泛型传递。

输什么也不输骨气 2021-11-29 17:48:15

       刚看了一下 jfinal 1.9 的 Model 的 503 行代码:return findById(id, "*");  改成 return (M)findById(id, "*");
应该就可以了。其实这个 findById(String) 方法转调了 findById(String, String) 方法,而后者返回的是泛型,是正确的代码,而有些 maven 版本有 bug,无法正确识别更深层次的泛型传递。

归途 2021-11-29 17:46:44

嗯 现在eclipse打war包还是可以的,原来是想转maven方便维护,没想到maven也有不少坑。。

残花月 2021-11-29 10:27:47

     是否用的最新版本的 jfinal 1.9? 看错误提示原因是该 maven 版本对com.jfinal.plugin.activerecord.Model泛型检测没有通过。解决办法可以是换 maven版本或者在编译时提供相关的参数。

    最简单快捷的办法是用 eclipse 的 export 功能导出 war 包,项目上线以后再回头再解决 maven 的问题

疾风者 2021-11-29 07:50:44

用的是jdk 1.8

惜醉颜 2021-11-28 17:48:26

看看JDK引用版本什么的对不? 猜的

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文