我试图将mapstruct添加到gradle spring boot项目中。这里是构建的相关部分。gradle文件:
implementation 'org.mapstruct:mapstruct:1.4.2.Final'
annotationProcessor 'org.mapstruct:mapstruct-processor:1.4.2.Final'
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok-mapstruct-binding:0.2.0'
这是我的界面:
@Mapper
public interface LogMessageMapper {
@Mapping(target = "content", ignore = true)
LogMessageDto toLogMessageDto(LogMessage source);
@AfterMapping
default void setContentString(LogMessage source, @MappingTarget LogMessageDto target) {
target.setContent(source.getContent().toString());
}
}
我在两个地方收到了我的映射器接口的生成实现:首先是预期的,但我的代码没有使用:构建/生成/源/... /LogMessageMapperImpl
第二个意外但由我的代码使用:app/src/main/generated//LogMessageMapperImpl
如何配置gradle以使代码使用正确生成的类?谢谢你的建议。
UPD:意外的实现仅出现在intellij idea的启动应用程序或idea的运行测试上。在gradle上,只生成预期的干净构建,理想的实现和构建是成功的,测试也是成功的。
从项目中删除. Ide文件夹并重新打开后,想法问题消失了。
我的gradle项目结构如下所示: 对于子项目,将使用引用gradle任务。 有什么想法让它正常工作吗?
我尝试设置一个JavaEE环境,用gradle构建。最后,我希望有一个EAR文件,其中包含一个EJB-Jar和某种可以部署到Glassfish的应用程序客户端(可能)。设置将是非常基本的。 目前我面临两个问题: 1)运行“耳朵”任务来组装EAR存档在tmp/耳朵中创建了一个错误的application.xml文件,如下所示: eclipse报告的错误消息是: cvc复合型。2.4.答:发现以元素“
是否可以设置子gradle项目的父项目。 在我的例子中,所有父子项目都位于文件层次结构中的同一级别。例如 > 代码 > /父项目 构建。格拉德尔 /child项目1 构建。格拉德尔 /子项目2 构建。格拉德尔 这里,项目1依赖于项目2,所以我将它们称为 也在我的设置中。gradle文件,我有 有了它,我可以从父项目文件夹运行任务,但单个任务不会从子项目运行。
我成功地安装了所有的flatter需求,包括android studio的flatter和dart插件,没有任何遗漏。我在没有选择Kotlin支持的情况下创建了一个新的颤振项目,但在创建该项目后,我得到了与Kotlin相关的问题代码 用于使用Gradle(1.2.71)构建的Kotlin版本不同于捆绑在IDE插件(1.3.50)中的版本 这就是构建。gradle文件代码: 另一个问题是在这个dir
我有一个Java项目(注意:-它不是一个web项目)。我正在使用log4j记录消息。 目前,我所遵循的步骤如下: > 在项目级别创建了log4j.properties文件。 声明的记录器Logger=Logger.getLogger(MyClass.Class); 然后使用->PropertyConfigurator.configure(“log4j.properties”)配置属性; 然后使用l
是否有办法将GradleJava项目导入IntelliJ 2017.2. x并应用一些设置,例如 代码样式 vcs设置 从Gradle在项目层面? 我注意到例如Grails框架使用了idea-gradle-plugin,但这只能与Gradle任务结合使用。 我不想使用Gradle任务生成IntelliJ项目文件。每当我导入文件。 这可能吗?