使用Maven有条件地构建EAR文件

皮特83

我很难找到一种解决方案来构建我的EAR的不同版本(使用maven-ear-plugin)。

我想要的是能够生产EAR或进行生产的EAR,其中测试EAR具有不同的ejb-jar.xml部署描述符以及src / test文件夹中的一些其他类。

到目前为止,我发现的唯一方法是引入一个配置文件“ blubb”,在该配置文件中我覆盖了jar-plugin配置,以包括来自src / test / resources的ejb-jar.xml以及一些Java文件,并添加一个自定义后缀到我的工件ID(或设置分类器)。然后在我的部署pom中引入相同的配置文件,在此我依靠拥有后缀的工件来构建修改后的EAR。

我从各种来源读到,根据配置文件来生产同一项目的不同罐子是EVIL(即不是Maven方式)。(例如,在Maven最佳实践中,生成具有不同/已过滤类的多个jar?http://blog.sonatype.com/people/2010/01/how-to-create-two-jars-from-one-project-and -为什么您应该/

所以我的问题是,我该怎么做呢?如果我用测试专用代码构建一个附加模块,以便有条件地将其包含在配置文件中的部署中,则我的问题是,我的ejb-jar.xml必须驻留在该jar文件的META-INF目录中,因为我的附加文件“测试”模块将包含在另一个jar中,因此ejb-jar.xml将不会应用于我的原始jar中的ejb。

有什么建议,如何解决这个问题(使用修改后的部署描述符和其他类生成特殊的测试耳朵)?

小费和见解受到高度赞赏:-)

皮特83

我找到了使用maven-dependency-plugin实现目标的方法。

基本的问题是,不应复制任何代码,但应按需构建具有附加/替换内容的相同模块。

我这样做的方法是制作第二个模块,并在声明中将要修改的模块作为唯一的依赖项。然后,在构建周期中,我添加了目标为“ unpack-dependencies”的maven-dependency-plugin,并选择在“ prepare-package”时将原始依赖项解压缩到target / classes文件夹中。

这样,我得到了第二个模块,其中包含第一个模块的内容,然后可以对调整后的模块的主要来源进行一些修改。

总的来说,这仍然是所有东西,但是很漂亮,在我看来,Maven曾有过一段时光,但现在该是一个更好的构建工具的时候了;-)

顺便说一句,如果有人知道一个更优雅的解决方案,我还是会开放的。我的问题经常是,在任何情况下我都不想复制我的配置甚至代码。看来Maven确实很难做到这一点...

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用Ansible有条件地复制文件?

来自分类Dev

使用shutil有条件地移动文件

来自分类Dev

Javascript有条件地构建MVC ActionLink

来自分类Dev

有条件地使用不同的资产目录构建应用

来自分类Dev

在Shake构建系统中有条件地使用.exe扩展名

来自分类Dev

如何使用选定的模块有条件地构建python包

来自分类Dev

有条件地执行JMeter Maven插件

来自分类Dev

Maven 有条件地复制资源

来自分类Dev

有条件地加载css文件

来自分类Dev

有条件地包含源文件

来自分类Dev

如何有条件地包括外部javascript文件?

来自分类Dev

Unix:有条件地逐行读取文件

来自分类Dev

如何有条件地删除生成的javascript文件?

来自分类Dev

有条件地包含ansible角色的变量文件

来自分类Dev

从文件系统有条件地加载分区

来自分类Dev

有条件地从外部XML文件复制内容

来自分类Dev

有条件地加载css文件

来自分类Dev

批处理脚本有条件地删除文件

来自分类Dev

有条件地提取CSV文件的行?

来自分类Dev

javascript:有条件地包含测试文件

来自分类Dev

有条件地加载 .js 文件。如何?

来自分类Dev

使用属性有条件地使用MSBuild编译源代码文件

来自分类Dev

如何使用模板有条件地编译(使用Grunt)仅更改的玉文件,包括

来自分类Dev

我可以在应用程序的make文件中有条件地构建PC文件(Oracle Pro * c)吗?

来自分类Dev

在.Rmd文件中使用Knitr有条件地评估标题

来自分类Dev

使用xsl有条件地创建空文件/ output

来自分类Dev

如何使用AngularJS在HTML文件中有条件地插入字符串?

来自分类Dev

如何有条件地阻止使用 Progress ABL 执行包含文件?

来自分类Dev

使用AngularJS有条件地更改CSS

Related 相关文章

热门标签

归档