如果文件不存在,则跳过maven插件的执行

时间:2010-11-26 17:35:59

标签: maven-2 maven

如果该模块中不存在给定文件,我想将hibernate3-maven-plugin放在我的父pom中并在子模块中跳过执行。

有没有办法做到这一点?

到目前为止,我必须这样做:

<plugin>
   ...
   <configuration>
      <skip>true</skip>
      <propertyfile>target/test-classes/jdbc.properties</propertyfile>
   </configuration>
</plugin>

在父POM中,并且:

<plugin>
   ...
   <configuration>
      <skip>${maven.test.skip}</skip>
   </configuration>
</plugin>

在我希望它执行的所有子POM中。 I.E实际上有一个jdbc.properties文件。

2 个答案:

答案 0 :(得分:4)

您可以使用配置文件执行此操作,但我认为您可能不希望在父项目中运行它,这可能会有问题。
以下是个人资料中的一些链接:

这个问题有一个类似的问题,无法用配置文件解决它:
activate-different-maven-profiles-depending-on-current-module

答案 1 :(得分:1)

我不是100%的物流,但您可以将maven exec plugin与shell脚本结合使用。 shell脚本将检查文件的存在,然后使用maven pom目录调用mvn插件 - 可以通过Maven环境变量获取并传递给shell脚本。