在 Maven 项目中混合 Lombok、Java 和 Scala
Mix Lombok, Java and Scala in a maven project
我有一个混合 Scala/Java maven 项目,其中应用程序代码、单元和集成测试是用 Java 编写的,但性能测试是用 Scala 编写的。
Scala 性能测试依赖于一对 Java 集成测试 类,它们具有 @Data
Lombok 注释。为了让 getter 和 setter 工作,我必须编译 JavaThenScala
,我可以通过 IntelliJ Scala 编译器设置来完成。
我的问题是 - 有没有一种方法可以设置我的 maven 插件来执行 JavaThenScala
编译而不调整 IntelliJ 设置,因为我想在其他地方部署代码?
我正在尝试使用 compileOrder
配置,但它似乎对我不起作用。
我的 Maven 插件:
<build>
<plugins>
<plugin>
<groupId>met.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
<version>4.0.0</version>
<configuration>
<compileOrder>JavaThenScala</compileOrder>
</configuration>
</plugin>
<plugin>
<groupId>io.gatling</groupId>
<artifactId>gatling-maven-plugin</artifactId>
<version>3.1.1</version>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
免责声明:此处为 Gatling 创始人和 scala-maven-plugin 共同维护者
注释处理,尤其是 Lombok,是一个超级怪兽。
似乎 scala-maven-plugin 不支持它,参见 https://github.com/davidB/scala-maven-plugin/issues/342(由于缺少 activity/contribution 而关闭)。
然后,我建议您将 Gatling 测试隔离在一个专用模块中,这样您就可以在一个纯 Java 模块中构建基于 Lombok 的测试 类,该模块将发布一个 test jar然后让你的加特林模块依赖于这个测试罐。
我有一个混合 Scala/Java maven 项目,其中应用程序代码、单元和集成测试是用 Java 编写的,但性能测试是用 Scala 编写的。
Scala 性能测试依赖于一对 Java 集成测试 类,它们具有 @Data
Lombok 注释。为了让 getter 和 setter 工作,我必须编译 JavaThenScala
,我可以通过 IntelliJ Scala 编译器设置来完成。
我的问题是 - 有没有一种方法可以设置我的 maven 插件来执行 JavaThenScala
编译而不调整 IntelliJ 设置,因为我想在其他地方部署代码?
我正在尝试使用 compileOrder
配置,但它似乎对我不起作用。
我的 Maven 插件:
<build>
<plugins>
<plugin>
<groupId>met.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
<version>4.0.0</version>
<configuration>
<compileOrder>JavaThenScala</compileOrder>
</configuration>
</plugin>
<plugin>
<groupId>io.gatling</groupId>
<artifactId>gatling-maven-plugin</artifactId>
<version>3.1.1</version>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
免责声明:此处为 Gatling 创始人和 scala-maven-plugin 共同维护者
注释处理,尤其是 Lombok,是一个超级怪兽。 似乎 scala-maven-plugin 不支持它,参见 https://github.com/davidB/scala-maven-plugin/issues/342(由于缺少 activity/contribution 而关闭)。
然后,我建议您将 Gatling 测试隔离在一个专用模块中,这样您就可以在一个纯 Java 模块中构建基于 Lombok 的测试 类,该模块将发布一个 test jar然后让你的加特林模块依赖于这个测试罐。