2

我在编译阶段使用了编译器和 AspectJ Maven 插件。

他们工作之后,我需要执行一些额外的目标(Hibernate 字节码检测)。process-classes将其与阶段联系起来是有意义的。

我想运行tomcat7:run,其中记录了以下内容:

在执行自身之前调用生命周期阶段编译的执行

如果我将额外的目标绑定到process-classes,它将不会执行,这不是我想要运行 Tomcat 的。

如果我将我的额外目标绑定到compile,它相对于 compile 和 AspectJ 执行的执行顺序变得有些不可靠(取决于插件在 POM 中定义的顺序)。它可以做到,但它让我不开心。

我宁愿tomcat7:run执行到并包括process-classes. 这个插件可以被影响这样做吗?

或者,我很乐意跳过插件的生命周期执行,并将其挂接到我自己构建的正确生命周期阶段。


为了说明,这里有一些来自此构建输出的片段:

[INFO] >>> tomcat7-maven-plugin:2.0:run (default-cli) @ webapp >>>
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ webapp ---
[INFO] --- maven-compiler-plugin:3.0:compile (default-compile) @ webapp ---
[INFO] --- aspectj-maven-plugin:1.4:compile (aspectj-compile) @ webapp ---
[INFO] --- maven-antrun-plugin:1.7:run (hibernate-instrument) @ webapp ---
[INFO] <<< tomcat7-maven-plugin:2.0:run (default-cli) @ webapp <<<
[INFO] --- tomcat7-maven-plugin:2.0:run (default-cli) @ webapp ---

V 形表示插件的生命周期调用。

4

0 回答 0