Maven 为什么我的目标没有被执行?

Maven 为什么我的目标没有被执行?,maven,m2e,maven-antrun-plugin,Maven,M2e,Maven Antrun Plugin,我正试图为部署做好准备,因此我希望在所有内容都打包到WAR文件中进行部署或开发之前,将正确的配置文件复制到WEB-INF/classes/ 最后,我希望在调用时执行部署任务 mvn glcoud:deploy -当我需要部署配置文件和开发任务时,只要在我的项目目录中执行其他任务 目前我还没有决定我到底要怎么做,但首先我尝试执行这样一个“虚拟任务”。不幸的是,它不起作用 这是我在pom.xml中配置的配置文件: 默认配置文件 “ 下面的解决方案给出了相同的“生命周期配置未涵盖插件执行”错误

我正试图为部署做好准备,因此我希望在所有内容都打包到WAR文件中进行部署或开发之前,将正确的配置文件复制到
WEB-INF/classes/

最后,我希望在调用时执行部署任务

mvn glcoud:deploy
-当我需要部署配置文件和开发任务时,只要在我的项目目录中执行其他任务

目前我还没有决定我到底要怎么做,但首先我尝试执行这样一个“虚拟任务”。不幸的是,它不起作用

这是我在
pom.xml
中配置的配置文件:


默认配置文件
“


下面的解决方案给出了相同的“生命周期配置未涵盖插件执行”错误


默认配置文件
真的
org.apache.maven.plugins
maven antrun插件
1.8
maven antrun插件
我也看到了同样的情况:

<build>
    <plugins>
        <plugin>
            <artifactId>maven-antrun-plugin</artifactId>
        </plugin>   
    </plugins>
</build>

<profiles>
    <profile>       
        <id>default-profile</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>       
        <build>
            <pluginManagement> 
                <plugins>                   
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-antrun-plugin</artifactId>
                        <version>1.8</version>                          
                        <!-- -->                
                    </plugin>
                </plugins>
            </pluginManagement>
        </build>    
    </profile>      
<profiles>

maven antrun插件
默认配置文件
真的
org.apache.maven.plugins
maven antrun插件
1.8

为了让m2e满意,同时又能满足您的要求,请尝试以下方法:

<build>
    <pluginManagement> 
        <plugins>                   
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-antrun-plugin</artifactId>
                <version>1.8</version>                          
                <executions>                        
                    <execution>
                        <id>compile</id>
                        <phase>compile</phase>
                        <configuration>
                            <target>
                                <echo message="Hello World!"/>
                                <copy file="src/main/resource/x.xml" todir="src/main" />
                            </target>
                        </configuration>                                    
                        <goals>
                            <goal>run</goal>
                        </goals>
                    </execution>
                </executions>                           
            </plugin>
        </plugins>
    </pluginManagement> 
    <plugins>
        <plugin>
            <artifactId>maven-antrun-plugin</artifactId>
        </plugin>
    </plugins>
</build>    

org.apache.maven.plugins


关于此类执行的相关
阶段
的进一步说明:与
编译
相比,
准备程序包
阶段将是一个更为(语义正确且易于维护)的选择。有关
准备程序包
,请查看:

在实际包装之前,执行准备包装所需的任何操作


更新
看起来,不仅如上所述,
准备软件包
阶段将是一个更好的选择,而且在这种情况下,它也是使m2e插件非常满意的正确阶段。

请参阅:

  • 插件管理

    但是,这仅配置在子元素的plugins元素中实际引用的插件

这意味着在
中声明插件只是故事的一半。你也必须在
/
部分声明插件,才能真正执行它的目标

就你而言:

<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-antrun-plugin</artifactId>
    </plugin>
  </plugins>
</build>

org.apache.maven.plugins
maven antrun插件

删除
元素,也就是说,将其放入
构建/插件
而不是
构建/插件管理
部分。@A.DiMatteo我必须添加它,因为否则m2e会识别另一个错误中描述的错误。啊,它太长,无法在注释中描述,我需要写一个答案。。ok@A.DiMatteo期待对它:从上面的DApart你不应该复制(不管怎样)进入
src/
是因为它处于版本控制之下。此外,您正在做的是从
src/main/resources/
复制,默认情况下,这是由资源复制处理的…因此无需添加
maven antrun插件
…吹毛求疵,但我必须
准备包
,因为显然这应该被调用来设置-up包装中的正确配置。@Tunaki非常好,我的重点是构建配置,但这绝对值得添加和澄清,我会相应地更新!如果我完全像您一样将其放置在
pluginManagement
的正下方,那么我会得到“生命周期配置中未涵盖的插件执行”“错误..@displayname什么不起作用?我刚试过你的代码,得到了HelloWorld!在控制台中。关于Eclipse,该阶段是其默认映射中的问题,更改它以准备包解决了该问题。你能试试吗?@a.DiMatteo这就是问题所在!使用
prepare package
对我也很有用。对不起,我没有看到你已经更新了答案!我已经用建议的解决方案更新了我的问题,但仍然是一样的:/到目前为止,您的答案似乎是正确的,但另一个问题是编译阶段。
<build>
    <plugins>
        <plugin>
            <artifactId>maven-antrun-plugin</artifactId>
        </plugin>   
    </plugins>
</build>

<profiles>
    <profile>       
        <id>default-profile</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>       
        <build>
            <pluginManagement> 
                <plugins>                   
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-antrun-plugin</artifactId>
                        <version>1.8</version>                          
                        <!-- -->                
                    </plugin>
                </plugins>
            </pluginManagement>
        </build>    
    </profile>      
<profiles>
<build>
    <pluginManagement> 
        <plugins>                   
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-antrun-plugin</artifactId>
                <version>1.8</version>                          
                <executions>                        
                    <execution>
                        <id>compile</id>
                        <phase>compile</phase>
                        <configuration>
                            <target>
                                <echo message="Hello World!"/>
                                <copy file="src/main/resource/x.xml" todir="src/main" />
                            </target>
                        </configuration>                                    
                        <goals>
                            <goal>run</goal>
                        </goals>
                    </execution>
                </executions>                           
            </plugin>
        </plugins>
    </pluginManagement> 
    <plugins>
        <plugin>
            <artifactId>maven-antrun-plugin</artifactId>
        </plugin>
    </plugins>
</build>    
<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-antrun-plugin</artifactId>
    </plugin>
  </plugins>
</build>