Java 跳耳包装

Java 跳耳包装,java,maven,Java,Maven,在构建管道中,我想跳过ear打包。这需要很多时间,每只耳朵需要四分钟以上。只有在需要发布的情况下,这才有意义 我想将构建管道分为几个独立的步骤。第一步是编译。对于第一步,我想使用mvn安装-DskipTests。我想使用install,因为还有其他依赖项,例如jar依赖项,需要满足这些依赖项才能完成完整的编译 在执行mvn安装-DskipTests时,如何跳过ear打包?选项一: 将您的模块打包更改为war/jar,然后创建另一个模块,并使用打包ear将原始模块添加为依赖项 通过这种方式,您可以

在构建管道中,我想跳过ear打包。这需要很多时间,每只耳朵需要四分钟以上。只有在需要发布的情况下,这才有意义

我想将构建管道分为几个独立的步骤。第一步是编译。对于第一步,我想使用
mvn安装-DskipTests
。我想使用
install
,因为还有其他依赖项,例如jar依赖项,需要满足这些依赖项才能完成完整的编译


在执行mvn安装-DskipTests时,如何跳过ear打包?

选项一:

将您的模块打包更改为war/jar,然后创建另一个模块,并使用打包ear将原始模块添加为依赖项

通过这种方式,您可以随时构建war/jar模块,但在需要发布它时—构建ear模块

选项二:

将模块包装更改为war/jar。创建构建ear文件的配置。创建将程序集插件绑定到生命周期的概要文件“release”


结果:如果未启用“释放”配置文件,将不会创建ear。

4分钟?听起来有问题…EAR文件中有多少个模块?产生的大小是多少?大约有17个ear文件,平均大小为40mb—几乎所有这些mb都在lib目录中—所有依赖的jar。是否也可以选择使用编译目标,然后在需要时选择性地创建和安装jar文件?满足依赖关系?如果你想让它自动化,那就不是真的。唯一可以安装依赖项的是
install
阶段。因此,无论您选择什么解决方案,其中一个模块都必须实际创建所讨论的
jar
,并在安装阶段将其推送到存储库中。在我的项目中,我通常坚持使用选项一,因为它对我来说似乎非常合乎逻辑,并且不需要额外的插件。试想一下,如果需要将
jar
作为依赖项,然后将
ear
作为构建结果,那么基本上需要生成两个工件。这两个工件都有不同的原因。我需要组装插件吗?将所有war、ear模块放在发布配置文件中怎么样。当我想发布时,我只需添加profile?Assembly插件就可以生成未安装到maven中的工件。从技术上讲,你也可以安装它们,但对于我个人的口味来说,它变得太粗糙了。所以,我通常将汇编用于连续部署之类的东西,我不希望生成的war出现在存储库中,我只希望现在就构建它。关于模块,如果您为WAR/EAR创建单独的模块,那么可以使用概要文件启用它们。但是,同样,如果您不喜欢wars/EAR不在maven存储库中,请使用汇编插件。另一个选项是使用
pl
开关,例如
mvn-pl'!:my_ear'install-DskipTests
,但以这种方式列出我所有的ear有点麻烦。