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

错误示例

xml 复制代码
<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>

正确示例

xml 复制代码
<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没自动生成)

相关推荐
counting money15 分钟前
Spring AI Alibaba 从入门到实战:构建企业级 AI 应用
java·人工智能·spring
原野池予35 分钟前
深入Java集合框架:数组与List互转底层原理剖析(JDK 8)
java·数据结构·list
Java成神之路-1 小时前
深入理解 HashMap 扩容时机:JDK 7 vs JDK 8 的设计差异与取舍
java·juc
李冰然1 小时前
深入Java集合框架:数组与List互转底层原理剖析(JDK 8)
java
竹枝溪1 小时前
MySQL进阶:约束、多表设计、多表查询与事务
java·数据库·mysql·事务·子查询·acid·多表查询
上玄code1 小时前
【Agent精讲】调一个LLMAPI背后的工程问题
java·开发语言·python·chatgpt
李冰然1 小时前
深入Java集合框架:ArrayList源码解析(JDK 8)
java
小小啊python1 小时前
IDEA中SpringBoot项目配置热部署
java·ide·intellij-idea·springboot·热部署
Java成神之路-2 小时前
Spring AI Alibaba 实现多轮对话记忆:ChatMemory 与 Redis 持久化实战
java·springaialibaba
JAVA面经实录9172 小时前
网络编程基础(Java Web/分布式前置·完整版)(十一)
java·前端·网络