依赖MapStruct的项目使用idea启动报错

 增加idea的配置如图所示:

-Djps.track.ap.dependencies=false

另外Maven增加相关插件配置:

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <annotationProcessorPaths>
                        <path>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                            <version>${lombok.version}</version>
                        </path>
                        <path>
                            <groupId>org.mapstruct</groupId>
                            <artifactId>mapstruct-processor</artifactId>
                            <version>1.3.1.Final</version>
                        </path>
                    </annotationProcessorPaths>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration><skip>true</skip></configuration>
            </plugin>

有点久之前处理过这个问题,现在有点记不太清当时是怎么做到的了,两种方法都记录一下,防止完了

### 解决方案 对于在最新版 IntelliJ IDEA使用 MapStruct 遇到的错误,可以采取以下措施: #### 1. 更新插件和支持库 确保项目中的 Maven 或 Gradle 插件以及相关支持库是最新的。旧版本可能不完全兼容最新的 IDE 版本。 #### 2. 正确配置 `pom.xml` 文件 为了使 MapStruct项目中正常工作,需正确设置项目的构建文件。以下是适用于Maven项目依赖配置示例[^2]: ```xml <dependency> <groupId>org.mapstruct</groupId> <artifactId>mapstruct</artifactId> <version>${mapstruct.version}</version> </dependency> <!-- 如果不是最近的IntelliJ版本 --> <dependency> <groupId>org.mapstruct</groupId> <artifactId>mapstruct-jdk8</artifactId> <version>${mapstruct.version}</version> </dependency> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> <configuration> <source>1.8</source> <target>1.8</target> <annotationProcessorPaths> <path> <groupId>org.mapstruct</groupId> <artifactId>mapstruct-processor</artifactId> <version>${mapstruct.version}</version> </path> </annotationProcessorPaths> </configuration> </plugin> </plugins> </build> ``` 注意,在较早版本的 IntelliJ (2018.1.1前), artifactId 可能需要包含 JDK 版本号,例如 mapstruct-jdk8 [^1]。然而,在更新后的IDE环境中通常不再需要这样做。 #### 3. 启用 Annotation Processors 进入 **Settings/Preferences | Build, Execution, Deployment | Compiler | Annotation Processors**, 并勾选 "Enable annotation processing" 和其他必要的选项以激活注解处理功能。 #### 4. 清理并重新编译项目 有时缓存可能导致问题未能及时反映更改的结果。尝试清理整个项目 (`Build -> Clean Project`) 然后再执行一次完整的重建操作(`Rebuild Project`)。 如果上述步骤仍无法解决问题,则建议查看具体的错误消息,并对照官方文档或社区资源寻找针对性的帮助。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值