我可以将 maven2 “目标”文件夹移动到另一台设备吗?

2022-09-02 01:23:26

我真的很想让maven将“目标”文件夹写入不同的设备(ramdisk),我通常认为这是一个不同的路径。有没有符合maven2标准的方法可以做到这一点?

我正在尝试在Windows上解决此问题,并且最好采用符合maven的策略。


答案 1

如果您碰巧让所有项目都扩展了公司父 pom,那么您可以尝试添加另一个间接层,如下所示:

企业聚甲酸:

<build>
  <directory>${my.build.directory}</directory>
</build>
<properties>
  <!-- sensible default -->
  <my.build.directory>target</my.build.directory>
</properties>

在您的设置中.xml:

<properties>
  <!-- Personal overridden value, perhaps profile-specific -->
  <my.build.directory>/mnt/other/device/${project.groupId}-${project.artifactId}/target</my.build.directory>
</properties>

如果本地 POM 定义优先于设置.xml定义,则可以尝试省略默认值,但代价是控件中的每个 Maven 实例(开发人员、构建计算机等)在其设置中指定 ${my.build.directory}.xml。


答案 2

实际上,Maven并不像每个人想象的那么受限制,所有POM都扩展了一个Super POM,其中定义了目标文件夹的名称

<build>
  <directory>target</directory>
  <outputDirectory>target/classes</outputDirectory>
  <finalName>${artifactId}-${version}</finalName>
  <testOutputDirectory>target/test-classes</testOutputDirectory>
 .
 .
 .
</build>

当然,您可以使用所需的任何值进行覆盖,因此请继续更改POM中的<目录/>元素(以及其他相关元素)


推荐