Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven 如何在Intellij中更新mapstruct依赖关系?_Maven_Intellij Idea_Pom.xml_Jhipster_Mapstruct - Fatal编程技术网

Maven 如何在Intellij中更新mapstruct依赖关系?

Maven 如何在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

我正在尝试更新IntelliJ中的依赖项。不幸的是,IntelliJ总是用旧版本加载依赖项

一开始我很好奇,因为当我用Maven启动应用程序时,它运行得很好。 但是当我想用IntelliJ启动它时,我得到以下错误:

IntelliJ Idea mapstruct java:映射处理器中存在内部错误: java.lang.NullPointerException


在我尝试了所有解决方案之后,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项目”
2)尝试让IntelliJ自动重新加载更改:

  • 设置->构建、执行、部署->构建工具->在构建脚本更改后重新加载项目:从“外部更改”到“任何更改”
  • 然后我将pom文件中的版本从1.3.1.Final更改为1.4.1.Final
3)尝试让IntelliJ自动重新加载更改,试用编号2:

  • 设置->构建、执行、部署->构建工具->Maven->导入->生成的源文件夹:“自动检测”
  • 然后我将pom文件中的版本从1.3.1.Final更改为1.4.1.Final
4)清除IntelliJ中的缓存:

  • 文件->使缓存无效/重新启动
pom文件的片段:

<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>