如何让maven为每个版本的程序使用单独的目标文件夹?

时间:2018-05-02 16:43:55

标签: java eclipse maven build

例如,我的程序版本为0.0.1。 Maven必须为它创建单独的文件夹 - “target / 0.0.1 /”而不是“target /”。必须对版本“0.0.2”,“0.0.3”等进行。

我使用Eclipse&这是Maven: 版本:Oxygen.3a版本(4.7.3a) 构建ID:20180405-1200

JDK 1.8.0_172

1 个答案:

答案 0 :(得分:3)

Maven不会那样工作,试图做那样的事情会导致痛苦的道路。我看到的选项包括

  • 为每个版本创建单独的程序集(并输出Jar)(请参阅Maven Assembly Plugin
  • Create a multi-project reactor为每个项目提供单独的输出配置。将公共代码保存在一个项目中,该项目链接为其他项目的依赖项。可能使用maven-shade-plugin将公共项目中的包重新链接到各个输出项目

正如您所看到的,这两种方法都非常糟糕,需要先进的Maven技能。传入输出版本的参数化构建会容易得多。但这对像詹金斯这样的CI服务器来说是有意义的。