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去处理,这些方案都是可以的,我就是想找找配置上的方案。哈哈。

目录
相关文章
|
9月前
|
Java
IDEA修改JDK版本
在IDEA中修改项目JDK版本的方法如下:1. 右键点击项目;2. 选择“Open Module Settings”,如图所示;3. 在弹出窗口中配置自定义的JDK路径。通过以上步骤,可轻松更改项目所使用的JDK版本,满足不同开发环境的需求。
2755 65
|
12月前
|
存储 IDE Java
java设置栈内存大小
在Java应用中合理设置栈内存大小是确保程序稳定性和性能的重要措施。通过JVM参数 `-Xss`,可以灵活调整栈内存大小,以适应不同的应用场景。本文介绍了设置栈内存大小的方法、应用场景和注意事项,希望能帮助开发者更好地管理Java应用的内存资源。
670 4
|
12月前
|
数据采集 算法 Java
如何在Java爬虫中设置动态延迟以避免API限制
如何在Java爬虫中设置动态延迟以避免API限制
|
Java Linux iOS开发
如何配置 Java 环境变量:设置 JAVA_HOME 和 PATH
本文详细介绍如何在Windows和Linux/macOS系统上配置Java环境变量。
16366 12
|
Java Linux iOS开发
如何设置 Java 的环境变量
设置Java环境变量是使用Java开发工具和运行Java程序的前提。主要步骤包括:安装JDK,配置系统环境变量中的JAVA_HOME、PATH和CLASSPATH,确保命令行可直接调用javac和java命令。
643 6
|
安全 Java Linux
java程序设置开机自启
java程序设置开机自启
956 1
|
存储 缓存 Java
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
这篇文章详细介绍了Java中的IO流,包括字符与字节的概念、编码格式、File类的使用、IO流的分类和原理,以及通过代码示例展示了各种流的应用,如节点流、处理流、缓存流、转换流、对象流和随机访问文件流。同时,还探讨了IDEA中设置项目编码格式的方法,以及如何处理序列化和反序列化问题。
435 1
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
|
Linux Android开发 Windows
IDEA如何设置成Eclipse的快捷键
【10月更文挑战第9天】这段内容介绍了如何在 IntelliJ IDEA 中设置类似 Eclipse 的快捷键。主要包括:1) 打开设置;2) 进入快捷键设置页面;3) 选择 Eclipse 快捷键方案;4) 可选的自定义调整。通过这些步骤,可以让熟悉 Eclipse 的用户更快适应 IDEA。
3577 4
|
4月前
|
JSON 网络协议 安全
【Java】(10)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
255 1
|
4月前
|
JSON 网络协议 安全
【Java基础】(1)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
268 1

推荐镜像

更多