我正在使用maven构建一个项目,我需要确保它可以在Java SE和不同的Java EE容器上运行。已经为WildFly容器编写了集成测试。现在我正在转向Java SE。
但是面对这个多个测试环境,我应该如何在maven中处理它们?我应该使用<profile>
,<module>
还是别的什么?
<profile>
可用于在不同的配置文件之间切换,并且每个配置文件都可以具有其特定的依赖关系。所以在我的情况下,可能会有个人资料:wildfly-embedded
,wildfly-managed
,java-se
等。但我需要确保项目适用于每个配置文件,是否可以运行所有配置文件一个命令?
<module>
可以处理项目继承。在阅读帖子SO • Why and when to create a multi-module Maven project?之后,我仍然对我是否应该在我的案例中使用它感到困惑。
有人可以给我一些想法吗?这将非常有帮助,谢谢。
答案 0 :(得分:1)
如果你记住,无论激活的配置文件,生成的工件应该始终是相同的,那么你应该理解配置文件不是正确的解决方案(尽管它经常被滥用。不要试图去对于那个建议!) 配置应该在工件之外,因此您可以反复重用相同的工件。由于许多人要求使用嵌入式配置的正确解决方案,Karl Heinz创建了https://github.com/khmarbaise/multienv-maven-plugin。这可能是您获得有效Maven项目设置的最接近的地方。