Maven编译报不兼容类型
来源:互联网 发布:北京圆之翰大数据 编辑:程序博客网 时间:2024/05/29 03:17
旧的非Maven项目转Maven项目,编译打包时提示多Warning,大部分Warning并不影响编译打包,可以忽略。但有一些代码报“不兼容的类型:Object无法转换为T”,导致无法编译通过。
原因
报“不兼容的类型:Object无法转换为T”错误原因:Maven默认采用javac编译器进行代码编译,而javac编译器对代码检查较严格。
解决办法
网上流行的解决方案,
1、开发环境,采用Eclipse的JDT编译,即Project–>Clean触发Eclipse编译,正常运行。
2、Maven编译打包,修改pom文件,指定maven-compiler-plugin的compilerId为eclipse,并使用plexus-compiler-eclipse包。
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <source>1.8</source> <target>1.8</target> <fork>true</fork> <compilerArgument>-nowarn</compilerArgument> <encoding>UTF-8</encoding> <compilerId>eclipse</compilerId> </configuration> <dependencies> <dependency> <groupId>org.codehaus.plexus</groupId> <artifactId>plexus-compiler-eclipse</artifactId> <version>2.0</version> </dependency> </dependencies> </plugin>
经测试发现:mvn compile可正确编译,但其实所有报Warning“Type mismatch”(类型不匹配)的类都没有编译打包,项目启动时会报缺少类,这个办法不可行。
最终方案
花了一整天时间查找解决办法,最终采用最简单直接的方法:修改所有报“Object 无法转化为T”的代码,编译打包通过。
心得
解决这个问题过程,最深的感触是:有些时候,最简单的方法可能最奏效(不过不折腾下谁知道呢)。
也许是我查找方式不对,如有其它方法,请留言,不吝指教。
0 0
- Maven编译报不兼容类型
- maven编译报错“不兼容的类型”
- Maven编译错误:不兼容的类型的解决方案
- (异常)Maven编译异常:不兼容的类型,推断类型不符合上限
- Maven Install 错误: 不兼容的类型
- 菜鸟调错(八)—— Maven编译错误:不兼容的类型的解决方案
- 为什么编译tiny工程出错,提示"不兼容的类型"
- 不兼容的类型
- framework不兼容报错
- vs2010编译 时 char* 类型形参与LPWSTR 类型的实参不兼容 的解决办法
- IntelliJ IDEA 14.0.3和apache-maven-3.3.3不兼容导致install报错
- 关于List l1 = new LinkedList();报错:不兼容的类型的问题的解决
- ESQL 查询数据报 参数类型“Edm.Decimal”和“Edm.Double”不兼容
- maven编译报错
- maven error提示: 不兼容的类型: java.lang.Object无法转换为T
- 为什么编译tiny工程出错,提示"不兼容的类型"
- maven源码不编译
- 装Oracle10g 怎么报不兼容
- linux运维-第三方软件仓库的搭建
- 插入排序
- oracle约束+disable与enable约束+为表添加约束+修改表约束的状态+primary key+not null+unique+foreign key+外键删除数据,可以使用的级联操作
- 神经网络实现手写字符识别系统
- 你学不来的硅谷成功秘诀
- Maven编译报不兼容类型
- Python + Allure(报告)+ Jenkins(持续集成)接口自动化测试环境搭建
- U
- 关于生产环境出现tomcat的jvm 内存溢出问题的解决
- [LeetCode]239. Sliding Window Maximum
- Docker快速入门
- “瞬移”的物理可能性有多大?
- OOAD初识
- 剑指offer-面试题07-用两个栈实现队列