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

如果应用程序是从IntelliJ IDEA运行的,则找不到Mapstruct生成的类

邵兴庆
2023-03-14

我有一个基于Java11的应用程序,用Gradle 4.8.1构建,它使用Mapstruct 1.3.0.Final。我使用IntelliJ IDEA Ultimate 2019.2.3进行开发。

问题:

ClassNotFoundException: Cannot find implementation for com.mycompany.MyMapper
    at org.mapstruct.factory.Mappers.getMapper(Mappers.java:75)
    at org.mapstruct.factory.Mappers.getMapper(Mappers.java:58)
compileOnly('org.projectlombok:lombok:1.18.10')
annotationProcessor('org.projectlombok:lombok:1.18.10')
compile('org.mapstruct:mapstruct:1.3.0.Final')
annotationProcessor('org.mapstruct:mapstruct-processor:1.3.0.Final')

问题:如何使IntelliJ IDEA正确应用Mapstruct注释处理器?

我所尝试的:我在StackOveflow和GitHub上经历了类似的问题。不幸的是,他们没有帮上忙。他们要么使用旧版本的lib、旧JVM,要么只是解决方案不起作用。

共有1个答案

宿嘉庆
2023-03-14

请在“设置/首选项构建、执行、部署构建工具分级”中设置“使用分级构建和运行”

 类似资料:
  • 问题内容: 我有使用嵌入式Jetty实例的spring应用程序。 我的罐子有相同的树状结构,但我不断 我有以下运行码头服务器实例的Java类 我的web.xml看起来像 如果我在IDE中运行,此应用程序运行良好,但JAR失败。我该如何解决此问题,这样我才能拥有其中包含Web应用程序的单个jar文件? 问题答案: 我遇到了类似的问题,并通过以下主类实现解决了这个问题:

  • 当我在中使用时,它会生成一个,我希望能够访问该文件以在单元测试中导入,但intellij看不到它

  • 当我发布windows窗体应用程序时,它在我开发它的机器上运行良好。但当我把它放在另一台笔记本电脑上就不工作了。双击.exe文件不会出错,也不会发生任何事情我的应用程序中有一个本地数据库。连接字符串为“data source=(LocalDB)\mssqllocaldb;attachdbfilename=datadirectory\database1.mdf;integrated security

  • 首先-是的,我已经阅读了关于这个主题的多个问题和答案,并且无法得到任何解决方案来帮助我。我没有运行Tomcat或JBoss,也没有要更改的文件。我使用的是Java6.0和。 我已经在和中创建了目录,以防万一。 有什么想法吗?

  • 这个问题和这个问题完全相似。这个问题没有一个公认的答案,我已经尝试了这个问题中的所有建议,但它们都不起作用。我不想尝试这个答案,因为我觉得它违背了我使用不可变表的目的。@marc-von-renteln在这里的评论中很好地总结了这个原因 我尝试了@Tobias-Schulte提供的答案。但这引起了一个不同的问题。在答案中的Mapper类中,试图从映射方法返回Immutable*.builder时会

  • 问题内容: 首先-是的,我已经阅读了有关此主题的多个问题和答案,但无法从中获得任何解决方案来帮助我。我没有运行Tomcat或JBoss,也没有要更改的文件。我正在使用Java 6.0和。 我正在使用IDEA IntelliJ创建一个可运行的jar文件,其中jar库是单独打包并通过清单链接的。我因此在Linux服务器上运行代码: 我的log4j配置文件(已放在和中,以防万一)是: 为了防万一,我再次