Maven 如何在Intellij中更新mapstruct依赖关系?
我正在尝试更新IntelliJ中的依赖项。不幸的是,IntelliJ总是用旧版本加载依赖项 一开始我很好奇,因为当我用Maven启动应用程序时,它运行得很好。 但是当我想用IntelliJ启动它时,我得到以下错误: IntelliJ Idea mapstruct java:映射处理器中存在内部错误: java.lang.NullPointerExceptionMaven 如何在Intellij中更新mapstruct依赖关系?,maven,intellij-idea,pom.xml,jhipster,mapstruct,Maven,Intellij Idea,Pom.xml,Jhipster,Mapstruct,我正在尝试更新IntelliJ中的依赖项。不幸的是,IntelliJ总是用旧版本加载依赖项 一开始我很好奇,因为当我用Maven启动应用程序时,它运行得很好。 但是当我想用IntelliJ启动它时,我得到以下错误: IntelliJ Idea mapstruct java:映射处理器中存在内部错误: java.lang.NullPointerException 在我尝试了所有解决方案之后,Maven总是在Dependency:树中显示旧版本1.3.1.Final。我的尝试: <prope
在我尝试了所有解决方案之后,Maven总是在Dependency:树中显示旧版本1.3.1.Final。我的尝试:
<properties>
<mapstruct.version>1.4.2.Final</mapstruct.version>
</properties>
1)我很快发现了一个类似的问题()
- 将maven版本升级到1.4.1.Final
- 从外部库(项目结构库)手动删除mapstruct 1.3.1.Final
- 清洁包装
- 单击“重新加载所有maven项目”
- 设置->构建、执行、部署->构建工具->在构建脚本更改后重新加载项目:从“外部更改”到“任何更改”
- 然后我将pom文件中的版本从1.3.1.Final更改为1.4.1.Final
- 设置->构建、执行、部署->构建工具->Maven->导入->生成的源文件夹:“自动检测”
- 然后我将pom文件中的版本从1.3.1.Final更改为1.4.1.Final
- 文件->使缓存无效/重新启动
<properties>
<mapstruct.version>1.4.2.Final</mapstruct.version>
</properties>
1.4.2.最终版本
org.mapstruct
EDIT2:可能该版本是从Jhipster依赖项中提取的。
Pom代码段:
<!-- Dependency versions -->
<jhipster-dependencies.version>3.9.1</jhipster-dependencies.version>
3.9.1
Siehe:
为什么属性中的显式版本不覆盖父pom的版本(JHipster依赖项)您的pom没有显式版本
属性1.4.2.Final
只有在某个地方使用时才有用(它不会自动更改版本)。请显示完整的pom文件。。。代码片段并没有真正的帮助…版本的定义可能来自jhipster依赖项
bom。你是对的。我将编辑这个问题。试着运行mvn dependency:tree
这应该会告诉你为什么要加载某个版本的依赖项。对我来说,这正是令人困惑的部分。我想我看错了依赖关系树。对我来说,mapstruct版本1.3.1.Final似乎来自项目的Pom.xml。这里是控制台输出:但为什么它不明确?我想这应该是这个站点的选项2。它只是明确的,如果在某个地方,有${mapstruct.version}
,例如在父POM中。好的,但在中有一个位置。但我认为父POM覆盖了这一点,不是吗?您正在通过POM导入注入jHIpster定义的依赖项。使用属性不会覆盖父POM中的版本。除此之外,父POM无法控制注释处理器路径中的内容
<!-- Dependency versions -->
<jhipster-dependencies.version>3.9.1</jhipster-dependencies.version>