IDEA报错: java: JPS incremental annotation processing is disabled 解决

起因

换了个电脑打开了之前某个老项目IDEA启动springcloud其中某个服务直接报错,信息如下

java: JPS incremental annotation processing is disabled. Compilation results on partial recompilation may be inaccurate. Use build process “jps.track.ap.dependencies” VM flag to enable/disable incremental annotation processing environment.

表现情况就是一直在编译中,只能强制退出IDEA

解决方法

尝试了网上多个方法

  1. lombok版本不兼容升级(吐槽:其他人都正常就我要升级,不合理吧。。。。)

  2. 打开“File” > “Settings”(对于macOS是“IntelliJ IDEA” > “Preferences”)。
    导航到“Build, Execution, Deployment” > “Compiler”。
    在“Shared build process VM options”中添加或修改VM选项:
    -Djps.track.ap.dependencies=true (看着好像很有道理跟报错信息也对的上,但是没起效果)

  3. 清理缓存 (没有效果)

最终解决方法

打开项目中的.idea文件夹,找到complier.xml文件
看到这个标签 annotationProcessing

错误示例

<annotationProcessing>
	<profile default="true" name="Default" enabled="true" />
	<profile name="Maven default annotation processors profile" enabled="true">
		<sourceOutputDir name="target/generated-sources/annotations" />
	        <sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
	        <outputRelativeToContentRoot value="true" />
	        <module name="A-server-api" />
	        <module name="A-server" />
	        <module name="B-server-api" />
	        <module name="B-server" />
	</profile>
	<profile name="Annotation profile for zsacloud" enabled="true">
	 <sourceOutputDir name="target/generated-sources/annotations" />
        <sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
        <outputRelativeToContentRoot value="true" />
        <option name="mapstruct.defaultComponentModel" value="spring" />
        <processorPath useClasspath="false">
          <entry name="$USER_HOME$/development/apache-maven-3.8.1/repository/org/mapstruct/mapstruct-processor/1.4.2.Final/mapstruct-processor-1.4.2.Final.jar" />
          <entry name="$USER_HOME$/development/apache-maven-3.8.1/repository/org/mapstruct/mapstruct/1.4.2.Final/mapstruct-1.4.2.Final.jar" />
          <entry name="$USER_HOME$/development/apache-maven-3.8.1/repository/org/projectlombok/lombok/1.18.6/lombok-1.18.6.jar" />
        </processorPath>
        <module name="A-server-api" />
</annotationProcessing>

正确示例

<annotationProcessing>
	<profile default="true" name="Default" enabled="true" />
	<profile name="Maven default annotation processors profile" enabled="true">
		<sourceOutputDir name="target/generated-sources/annotations" />
	        <sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
	        <outputRelativeToContentRoot value="true" />
	        <module name="A-server-api" />
	        <module name="A-server" />
	        <module name="B-server-api" />
	        <module name="B-server" />
	</profile>
	<profile name="Annotation profile for server" enabled="true">
	 <sourceOutputDir name="target/generated-sources/annotations" />
        <sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
        <outputRelativeToContentRoot value="true" />
        <option name="mapstruct.defaultComponentModel" value="spring" />
        <processorPath useClasspath="false">
          <entry name="$USER_HOME$/development/apache-maven-3.8.1/repository/org/mapstruct/mapstruct-processor/1.4.2.Final/mapstruct-processor-1.4.2.Final.jar" />
          <entry name="$USER_HOME$/development/apache-maven-3.8.1/repository/org/mapstruct/mapstruct/1.4.2.Final/mapstruct-1.4.2.Final.jar" />
          <entry name="$USER_HOME$/development/apache-maven-3.8.1/repository/org/projectlombok/lombok/1.18.6/lombok-1.18.6.jar" />
        </processorPath>
        <module name="A-server-api" />
        <module name="A-server" />
        <module name="B-server-api" />
        <module name="B-server" />
</annotationProcessing>

就是有两个标签下面有模块,但是发现下面丢了很多就剩下一个,补上之后,所有服务就可以正常编译启动了。。。(不知道啥原因,反正项目可以愉快的跑起来了,可能是IDEA没自动生成)

作者:我是一只小海米

物联沃分享整理
物联沃-IOTWORD物联网 » IDEA报错: java: JPS incremental annotation processing is disabled 解决

发表回复