当前位置: 首页 > 知识库问答 >
问题:

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

田博远
2023-03-14

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

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

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

在我尝试过的所有解决方案之后,Maven总是在Dependency:Tree中显示旧版本1.3.1.Final。我尝试过的:

1) 我很快发现了类似的问题(IntelliJ Idea mapstruct java:映射处理器中的内部错误:java.lang.NullPointerException)

    < li >将maven版本升级到1.4.1.Final < li >从外部库(项目结构|库)中手动删除map struct 1 . 3 . 1 . final < li>mvn清洁包装 < li >单击重新加载所有maven项目

2)尝试让IntelliJ自动重新加载变更:

    < li >设置-

3) 尝试让 IntelliJ 自动重新加载更改,试用编号 2:

    < li >设置-

4)清除IntelliJ中的缓存:

  • 文件-

pom文件的片段:

<properties>
      <mapstruct.version>1.4.2.Final</mapstruct.version>
</properties>

...

<dependency>
    <groupId>org.mapstruct</groupId>
    <artifactId>mapstruct</artifactId>
</dependency>
<dependency>
    <groupId>org.mapstruct</groupId>
    <artifactId>mapstruct-processor</artifactId>
    <scope>provided</scope>
</dependency>

...

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>${maven-compiler-plugin.version}</version>
    <configuration>
        <source>${java.version}</source>
        <target>${java.version}</target>
        <annotationProcessorPaths>
            <path>
                <groupId>org.mapstruct</groupId>
                <artifactId>mapstruct-processor</artifactId>
                <version>${mapstruct.version}</version>
            </path>
            <!-- jhipster-needle-maven-add-annotation-processor -->
        </annotationProcessorPaths>
    </configuration>
</plugin>

编辑:你可以通过这个链接看到完整的pom.xml文件。

EDIT2:可能版本是从Jhipster依赖中提取的。

Pom 片段:

<!-- Dependency versions -->
<jhipster-dependencies.version>3.9.1</jhipster-dependencies.version>

西河:https://mvnrepository.com/artifact/io.github.jhipster/jhipster-dependencies/3.9.1

为什么属性中的显式版本不会覆盖父 pom 的版本(JHipster 依赖项)

共有1个答案

皮安顺
2023-03-14

您的 POM 没有显式版本。

属性<代码>

 类似资料:
  • 当我在pom中手动添加依赖项时。xml,让Maven下载依赖项,让IntelliJ构建模块,IntelliJ抱怨缺少库。同时,Maven可以找到依赖的JAR并构建项目。 我如何告诉IntelliJ使用Maven下载的libs?

  • 我正在尝试在Eclipse中构建一个大型开源项目;它使用Maven,所以我安装了各种插件(m2eclipse等),但我对这个设置有点陌生。 我可以毫无问题地构建和运行我感兴趣的特定JAR。但是,当新构建的JAR尝试打开一个大ZIP文件时,我会得到这样的结果: 我做了一些研究,似乎这个错误意味着java。util。ZipFile无法读取该文件,因为它是ZIP64格式。显然,这在Java 1.7中是固

  • 问题内容: 我从另一个项目复制了package.json,现在想将所有依赖项都升级到最新版本,因为这是一个新项目,如果出现问题,我不介意进行修复。 最简单的方法是什么? 我现在知道的最好的方法是手动运行每个包,然后手动更新package.json。肯定有更好的办法。 19年5月1日更新 :六年后,我仍在维护npm-check-updates作为该问题的综合解决方案。请享用! 问题答案: 看起来np

  • 依赖关系:树是: 有人能帮我解除对验证api: jar: 1.0.0. GA的依赖吗?它似乎在wc pom中作为传递依赖。谢谢

  • 我正在尝试构建一个Bukkit插件。该插件还使用exp4j。最终结果需要在发布的jar中包含exp4j代码,但不包含Bukkit代码。 我按照这个答案的建议将依赖项复制到中,并使用这个答案将Bukkit声明为已提供。我的build.gradle现在看起来像这样: 这非常有效,我可以从命令行使用Gradle愉快地构建和运行项目。问题在于Intellij(或者可能是Gradle idea插件)无法识别

  • 我需要在生成的mapper实现中注入一个spring服务类,以便通过 这是否适用于Mapstruct-1.0?