IDEA-设置-Java编译器对常量字符串过长的处理之适用于JDK17版本eclipse编译解决方案

简介: IDEA-设置-Java编译器对常量字符串过长的处理之适用于JDK17版本eclipse编译解决方案

在前一篇https://developer.aliyun.com/article/1179009?spm=a2c6h.13148508.setting.14.2fd54f0e6B84bI撰写字符串过长的解决方案的文章里写到jdk8的源码如果遇到字符串过长的问题,可以通过修改Java编译器为Eclipse解决,但是jdk17的版本的源码却报如下的错误:

java: java.lang.IllegalArgumentException: source level should be in '1.1'...'1.8','9'...'14' (or '5.0'..'14.0'): 17

上述报错翻译成中文就是:源码级别应该是1.1-1.8,9-14(或者5-14)。大概明白了就是这个IDEA绑定的这个eclipse编译器不支持JDK14以上的源码级别。这一点没有找到文档说明,从IDEA的官方文档关于编译器的部分也没找到说明

1679464159884.png

但是仔细推敲发现了一个问题,就是如果你不乐意使用idea绑定的eclispe可以使用ECJ batch compiler tool。(谁会不乐意使用你大名鼎鼎的idea绑定的编译器呢,这不遇到问题了吗)。从这一点我就猜测,就是IDEA绑定的Eclipse编译器是不支持jdk高版本的源码级别的。于是就从eclipse编译器入手,看看如何解决了,IDEA里面提供了这么一个配置,就是在如下的Setting页面

1679464385242.png

于是我就从eclipse的官方找到了这个传说中的ECJ batch compiler tool即上图红色框的ecj-4.27.jar。

1679464478757.png

下载这个3M的小jar,然后配置到idea中,果然好使。字符串过长的问题解决。有的同学会说,你为啥要写那么长的字符串,可以使用拼接和StringBuilder去处理,这些方案都是可以的,我就是想找找配置上的方案。哈哈。

目录
相关文章
|
1月前
|
存储 Java 测试技术
滚雪球学Java(08):深入理解Java变量、常量及其作用域
【2月更文挑战第14天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,助你一臂之力,带你早日登顶🚀,欢迎大家关注&&收藏!持续更新中,up!up!up!!
89 0
|
1月前
|
Java
【Java】— —实现人物对象的增、删、改、查(注:对象的删除以逻辑删除为主,在person类中设置“删除状态字段”,字删除该字段时,将状态改为有效。)
【Java】— —实现人物对象的增、删、改、查(注:对象的删除以逻辑删除为主,在person类中设置“删除状态字段”,字删除该字段时,将状态改为有效。)
33 0
|
21小时前
|
Web App开发 Java 应用服务中间件
【Java Web】在 IDEA 中部署 Tomcat
【Java Web】在 IDEA 中部署 Tomcat
7 0
|
3天前
|
应用服务中间件
解决方案:IDEA控制台输出Tomcat中文乱码
解决方案:IDEA控制台输出Tomcat中文乱码
13 0
解决方案:IDEA控制台输出Tomcat中文乱码
|
14天前
|
Java
java中jar启动设置内存大小java -jar 设置堆栈内存大小
java中jar启动设置内存大小java -jar 设置堆栈内存大小
11 1
|
25天前
|
Java 应用服务中间件 nginx
idea打war包时,JDK版本的问题解决方式
idea打war包时,JDK版本的问题解决方式
13 0
|
1月前
|
Java 关系型数据库 应用服务中间件
JAVA Web项目开发eclipse工具包配置(第一天)
JAVA Web项目开发eclipse工具包配置(第一天)
|
1月前
|
Java 程序员
Java的运算符常量
Java的运算符常量
11 0
|
1月前
|
Java
Java的常量数据结构
Java的常量数据结构
10 0
|
1月前
|
开发工具
933.【开发工具】解决idea:Caused by: java.net.BindException: Add
933.【开发工具】解决idea:Caused by: java.net.BindException: Add
20 2

推荐镜像

更多