我真的想让maven将"target"文件夹写入另一个设备(ramdisk),我通常认为这是一个不同的路径.有没有符合maven2标准的方法呢?
我试图在Windows上解决这个问题,并且首选符合maven的策略.
Bri*_*ise 25
如果您碰巧让所有项目扩展到公司父pom,那么您可以尝试添加Yet Another Layer of Indirection,如下所示:
企业POM:
<build>
<directory>${my.build.directory}</directory>
</build>
<properties>
<!-- sensible default -->
<my.build.directory>target</my.build.directory>
</properties>
Run Code Online (Sandbox Code Playgroud)
在您的settings.xml中:
<properties>
<!-- Personal overridden value, perhaps profile-specific -->
<my.build.directory>/mnt/other/device/${project.groupId}-${project.artifactId}/target</my.build.directory>
</properties>
Run Code Online (Sandbox Code Playgroud)
如果本地POM定义优先于settings.xml定义,那么您可以尝试省略默认值,代价是让控件中的每个Maven实例(开发人员,构建机器等)指定$ {my.build.directory}在其settings.xml中.
实际上,Maven没有像每个人想的那样受到限制,所有的POM都扩展了一个Super POM,其中定义了目标文件夹的名称
<build>
<directory>target</directory>
<outputDirectory>target/classes</outputDirectory>
<finalName>${artifactId}-${version}</finalName>
<testOutputDirectory>target/test-classes</testOutputDirectory>
.
.
.
</build>
Run Code Online (Sandbox Code Playgroud)
当然你可以用你想要的任何值覆盖,所以只需要继续更改POM中的<directory />元素(以及其他相关元素)
| 归档时间: |
|
| 查看次数: |
7709 次 |
| 最近记录: |