代码之家  ›  专栏  ›  技术社区  ›  mysomic

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

  •  3
  • mysomic  · 技术社区  · 14 年前

    我想把Hibernate 3 Maven插件放在我的父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中。也就是那些有jdbc.properties文件的。

    2 回复  |  直到 14 年前
        1
  •  4
  •   Community CDub    7 年前

    您可以使用概要文件来完成这项工作,但我想您可能不想在父项目中运行它,这可能会有问题。
    以下是配置文件上的一些链接:

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

        2
  •  1
  •   mmccomb    14 年前

    我不是100%负责后勤工作,但你可以用 maven exec plugin 与shell脚本结合使用。shell脚本将检查文件是否存在,然后使用maven pom目录调用mvn插件,该目录可以通过maven环境变量获得并传递给shell脚本。