以前,我将Mapstruct与Eclipse一起使用,并且运行良好(Gradle与命令“eclipse”一起使用以生成Eclipse项目文件,并且构建工作由Eclipse本身完成)。迁移到Intellij后,Mapstruct不再生成BeanMapperImpl.java。我的build.gradle如下:
plugins {
id 'net.ltgt.apt' version '0.9'
}
...
allprojects {
apply plugin: 'eclipse'
apply plugin: 'java'
apply plugin: 'idea'
apply plugin: 'net.ltgt.apt'
...
}
subprojects {
dependencies {
compile 'org.mapstruct:mapstruct-jdk8:1.2.0.Final'
apt 'org.mapstruct:mapstruct-processor:1.2.0.Final
...
}
}
Intellij的构建委托(delegate)给Gradle。
最佳答案
根据您的IntelliJ版本,您可以转储net.ltgt.apt插件,并使mapstruct-processor成为compileOnly
依赖项。
使用较旧版本的IntelliJ,结果可能会有所不同。
在gradle中,java文件可能会在.class
文件旁边生成。虽然不干净,但您可以在包装过程中将其过滤掉,如下所示:
jar {
exclude('**/*.java')
}
也可以更改目标文件夹...
关于gradle - 与Intellij和Gradle一起使用时,Mapstruct不会生成BeanMapperImpl.java,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49607302/