IDEA 自动重置项目的LanguageLevel


最近几个月在使用idea的时候发现一个不算很严重但是比较影响心情的问题.
就是使用idea在编译项目的时候,自动更改项目的language level 导致要重新设置.


具体情况如下:
在项目Module中设置了默认的JDK使用1.8,即在Project Structure中设置了language level中使用LEVEL8.可是在一段时间(短则半小时)之后,他会自动重置成JDK1.5.由于我机器上没安装JDK1.5且在代码中用到了1.7和1.8的一些新特性,导致编译的时候经常会报错.
对于这个问题,我个人的临时解决办法是,重新修改项目中的LanguageLevel成所需要的JDK版本,外加在当前项目的idea配置文件 compiler.xml中,将bytecodeTargetLevel如下设置成 当前的JDK版本.


 <bytecodeTargetLevel>
      <module name="ADMIN" target="1.8" />
      <module name="BUSINESS" target="1.8" />
      <module name="COMMON" target="1.8" />
</bytecodeTargetLevel>

外加修改对应module的iml文件中的languageLevel配置


 <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8" inherit-compiler-output="false">

可是这两个方法治标不治本,我就是发现隔一段时间之后这这两部分的配置文件又自己变回去1.5了.很烦恼.
P.S. 我考虑过是不是因为在版本管理工具中别人把自己的一些IDE配置文件上传导致了经常出现编译相关的配置被重置,后来保证并不是因为这方面的问题.即便是独立开发的项目也会出现这种情况.
不知道有什么有效的方法能够永久修改配置文件,不会被idea自己定时更改.

intellij-idea ide

Jastin 9 years, 5 months ago
小心你钱包 answered 9 years, 5 months ago

Your Answer