仅当自上次构建以来文件发生更改时才执行 Maven 插件
Perform a maven plugin execution only when a file changed since last build
我想在 mvn clean install
期间每当文件自上次构建以来发生更改时执行一个 maven 插件。如果文件自上次构建以来未更改,则应在 mvn clean install
期间跳过插件执行。
是否可以在 maven 3.5.0 中实现此功能?
Maven 不会保留它曾经构建的所有模块的记录。但是,如果 Maven 必须知道某些(源)文件是否更改,则这是必要的。
一些插件,例如 maven-compiler-plugin
,将源文件的时间戳与相应生成的 class 文件的时间戳进行比较,如果 class 文件较新,则允许跳过编译.但是,如果您执行 mvn clean
(如问题中所述),class 文件将被删除,因此无论如何都必须执行编译。
因此得出结论:如果不对 maven 本身进行重大更改,maven 将无法满足您的要求。
我想在 mvn clean install
期间每当文件自上次构建以来发生更改时执行一个 maven 插件。如果文件自上次构建以来未更改,则应在 mvn clean install
期间跳过插件执行。
是否可以在 maven 3.5.0 中实现此功能?
Maven 不会保留它曾经构建的所有模块的记录。但是,如果 Maven 必须知道某些(源)文件是否更改,则这是必要的。
一些插件,例如 maven-compiler-plugin
,将源文件的时间戳与相应生成的 class 文件的时间戳进行比较,如果 class 文件较新,则允许跳过编译.但是,如果您执行 mvn clean
(如问题中所述),class 文件将被删除,因此无论如何都必须执行编译。
因此得出结论:如果不对 maven 本身进行重大更改,maven 将无法满足您的要求。