我应该在 IntelliJ IDEA 中哪里设置 java 版本?
设置java语言版本有什么区别
- IntelliJ IDEA中File -> 项目结构->项目
- 运行->编辑配置->构建并运行
- pom.xml 中的设置
java.version
、maven.compiler.source
、maven.compiler.target
>
What is the difference between setting java language version in IntelliJ IDEA in
- File -> project Structure -> Project
- Run -> Edit configuration -> Build and run
- setting
java.version
,maven.compiler.source
,maven.compiler.target
inpom.xml
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
1.文件->项目结构->项目
这仅影响 IDE 编译项目的方式,但当您重新加载
pom.xml
时可能会被覆盖,或者实际上,如果您与其他人共享项目,则其他人不一定会这样做使用这些设置。另外,如果有人从命令行使用 maven 进行编译,则它不会是您在此处设置的内容。2.运行->编辑配置->构建并运行
这仅影响 IDE 中项目的执行。因此,即使你在 Java 11 上编译,你也可以通过修改此设置来测试它在 Java 17 上是否正常工作。如果您的项目需要,您还可以使用不同供应商的构建进行测试(例如 AdoptOpenJDK 与 Zulu)。
3.在 pom.xml 中设置 java.version、maven.compiler.source、maven.compiler.target
我认为这是设置这些内容的推荐位置,而不是 1,因为任何掌握你的源代码的人都会能够使用相同的正确语言设置进行编译,无论 IDE 或是否使用 shell。 IDE 将导入这些内容并相应地设置其本地工作区设置 (1)。
IntelliJ IDEA 还将使用项目级别设置作为新运行配置的默认设置 (2)。
1. File -> project Structure -> Project
This affects only how the IDE compiles your project, but may be overridden when you reload
pom.xml
, or indeed if you share the project with someone else, that other person will not necesarrily use these settings. Also, if someone were to compile using maven from the commandline, it wouldn't be what you set here.2. Run -> Edit configuration -> Build and run
This affects only the exceution of your project within the IDE. Thus, even if you have compiled on Java 11, you could test whether it works fine on Java 17 simply by modifying this setting. You could also test with builds by different vendors (e.g. AdoptOpenJDK vs Zulu), should your project require it.
3. setting java.version, maven.compiler.source, maven.compiler.target in pom.xml
I would regard this as the recommended place to set these as opposed to 1, because anyone getting hold of your source code will be able to compile using the same correct language settings, regardless of the IDE or if they use the shell. IDEs will import these and set their local workspace settings (1) accordingly.
IntelliJ IDEA will also use the project level setting as the default for new run configurations (2).