开发工具_idea使用-------idea自动重置language level和java compiler的解决20181217
问题:使用lanmda表达式时候,代码
CollectionUtils.filter(rtsRightsRelationshipsList,
itm-> !filterLoanContractNos.contains(((RtsRightsRelationships)itm).getLoanContractNo()));
在idea中编译时,出现下面的问题。

源码如下:
1 public static void main(String[] s) { 2 List<String> filterLoanContractNos = new ArrayList<>(); 3 filterLoanContractNos.add("1"); 4 filterLoanContractNos.add("2"); 5 filterLoanContractNos.add("3"); 6 filterLoanContractNos.add("4"); 7 RtsRightsRelationships rt=new RtsRightsRelationships(); 8 List<RtsRightsRelationships> rtsRightsRelationshipsList = new ArrayList<>(); 9 rt.setLoanContractNo("1"); 10 rtsRightsRelationshipsList.add(rt); 11 RtsRightsRelationships rt1=new RtsRightsRelationships(); 12 rt1.setLoanContractNo("5"); 13 rtsRightsRelationshipsList.add(rt1); 14 RtsRightsRelationships rt2=new RtsRightsRelationships(); 15 rt2.setLoanContractNo("4"); 16 rtsRightsRelationshipsList.add(rt2); 17 18 CollectionUtils.filter(rtsRightsRelationshipsList, 19 itm-> !filterLoanContractNos.contains(((RtsRightsRelationships)itm).getLoanContractNo())); 20 21 for (RtsRightsRelationships r : rtsRightsRelationshipsList) { 22 System.out.println(r.getLoanContractNo()); 23 } 24 25 } 26 }
百度后答案:
1.需求分析
很多同学可能会遇到这种情况,某次加载多模块的工程时,会报java compiler不合理的错误,这是要重新配置language level和java compiler的节奏;今天笔者跟大伙就这个问题唠唠嗑
2.场景还原
①加载新工程,一般会抛错

方法一:①根据该问题,配置如下
配置java compiler

②配置language level

这样配置后,基本上okl了,但是重新加载后,这种情况可能还会出现;
方法二:.杀手锏
在父工程的pom中添加如下配置
<build>
<plugins>
<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>
</configuration>
</plugin>
</plugins>
</build>
这样就不用重复2中的配置,简洁有效!
---------------------
作者:eagle-zhang
来源:CSDN
原文:https://blog.csdn.net/zhangxing52077/article/details/78728040
版权声明:本文为博主原创文章,转载请附上博文链接!
posted on 2018-12-17 09:59 helloJava小白 阅读(200) 评论(0) 收藏 举报
浙公网安备 33010602011771号