Maven 2 Maven mojo插件,如何定义在此目标之前必须触发的阶段?
哎,, 我有一个部署pojo插件(将war部署到远程服务器)。我在pom定义的构建部分有远程部署插件,我需要在部署远程目标之前触发包阶段,因为在我将其安全复制到远程服务器之前已经创建了war 通过执行元素(根据文档),我可以将我的目标附加到一个特定的阶段,例如,将其绑定到后面的阶段,所以在我的情况下,安装阶段……但这只是一个解决方法Maven 2 Maven mojo插件,如何定义在此目标之前必须触发的阶段?,maven-2,mojo,Maven 2,Mojo,哎,, 我有一个部署pojo插件(将war部署到远程服务器)。我在pom定义的构建部分有远程部署插件,我需要在部署远程目标之前触发包阶段,因为在我将其安全复制到远程服务器之前已经创建了war 通过执行元素(根据文档),我可以将我的目标附加到一个特定的阶段,例如,将其绑定到后面的阶段,所以在我的情况下,安装阶段……但这只是一个解决方法 <build> <plugins> <plugin> <groupId>sa
<build>
<plugins>
<plugin>
<groupId>sample.plugin</groupId>
<artifactId>maven-hello-plugin</artifactId>
<version>1.0-SNAPSHOT</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>sayhi</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
sample.plugin
maven hello插件
1.0-快照
包裹
早希
简单地说,如果我只把我的目标放在构建部分,并运行它,包阶段就不会在之前运行。请帮忙
Maven Mojo插件,如何定义在此目标之前必须触发的阶段
你不能
我在pom定义的构建部分有远程部署插件,我需要在部署远程目标之前触发包阶段,因为在我将其安全复制到远程服务器之前已经创建了war
只需将其绑定到package
阶段,您的目标将在默认情况下绑定到package
之后被调用(因此战争将在那里)
下面是一个示例,通过如下配置的Maven AntRun插件演示此行为:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<phase>package</phase>
<configuration>
<target>
<echo message="Hi!!!!!"/>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
antrun插件按预期在包
后执行
Maven Mojo插件,如何定义在此目标之前必须触发的阶段
你不能
我在pom定义的构建部分有远程部署插件,我需要在部署远程目标之前触发包阶段,因为在我将其安全复制到远程服务器之前已经创建了war
只需将其绑定到package
阶段,您的目标将在默认情况下绑定到package
之后被调用(因此战争将在那里)
下面是一个示例,通过如下配置的Maven AntRun插件演示此行为:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<phase>package</phase>
<configuration>
<target>
<echo message="Hi!!!!!"/>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
antrun插件按预期在
包之后执行。您可以尝试在@Mojo注释中使用PREPARE\u包阶段:
@Mojo(name = "myName", defaultPhase = LifecyclePhase.PREPARE_PACKAGE)
您可以尝试在@Mojo注释中使用PREPARE_包阶段:
@Mojo(name = "myName", defaultPhase = LifecyclePhase.PREPARE_PACKAGE)
我试过这样做,但战争并没有爆发。我完全按照我粘贴的示例中的方式进行了尝试,得到了“war不存在”的结果,它可以在安装阶段使用,但不能在软件包中使用……但这种解决方法并不好,因为我必须在安装之前始终安装工件deployment@lisak就像广告宣传的那样。如果您有不同的行为,请显示您的配置和显示问题的输出。抱歉,我可能应该进入睡眠状态:-)我正在运行“mvn myGoal:myPhase”而不是“mvn package”。。。所以这最后没问题,谢谢you@lisak没问题,很高兴我们解决了问题。我试过这样做,但战争并没有爆发。我完全按照我粘贴的示例中的方式进行了尝试,得到了“war不存在”的结果,它可以在安装阶段使用,但不能在软件包中使用……但这种解决方法并不好,因为我必须在安装之前始终安装工件deployment@lisak就像广告宣传的那样。如果您有不同的行为,请显示您的配置和显示问题的输出。抱歉,我可能应该进入睡眠状态:-)我正在运行“mvn myGoal:myPhase”而不是“mvn package”。。。所以这最后没问题,谢谢you@lisak没问题,很高兴我们解决了。