12

我正在尝试通过 antrun 插件在我的 Maven 多模块项目中复制一个文件。该文件位于父项目的根目录中:

<plugin>                                                           
<groupId>org.apache.maven.plugins</groupId>                    
<artifactId>maven-antrun-plugin</artifactId>                   
<version>1.7</version>                                         
<inherited>false</inherited>                                   
<executions>                                                   
    <execution>                                                
        <inherited>false</inherited>                           
        <id>copy</id>                                          
        <goals>                                                
            <goal>run</goal>                                   
        </goals>                                               
        <configuration>                                        
            <target name="copy and rename file">               
                <copy file="${basedir}/portal-ext.properties" tofile="${liferay.auto.deploy.dir}/../portal-ext.properties" />

            </target>                                          
        </configuration>                                       
    </execution>                                               
</executions>                                                  

我通过问题运行这个mvn antrun:run是我在父模块和每个模块上都得到“没有定义蚂蚁目标 - 跳过”。我需要它只在父母身上运行,并且认为<inherited>false</inherited>会有所帮助,但我没有。但是为什么“没有定义蚂蚁目标”?

4

3 回答 3

21
  <plugin>
    <artifactId>maven-antrun-plugin</artifactId>
    <version>1.7</version>
    <executions>
      <execution>
        <id>ant-execute</id>
        <configuration>
          <target>
          <echo message="plugin classpath:  " />
          </target>
        </configuration>
        <goals>
          <goal>run</goal>
        </goals>
      </execution>
    </executions>
  </plugin>

命令: mvn antrun:run@ant-execute

于 2015-10-02T14:49:38.873 回答
6

antrun:run只会考虑插件的配置,而不考虑特定的执行,因此您指定的执行将被忽略。作为运行单个 Maven 插件执行?状态,你可以给你的执行一个 iddefault-cli让它被拾起。

但是,您配置的执行应该已经在常规构建生命周期中生效。

于 2013-09-28T09:05:29.537 回答
6

像这样运行它:mvn antrun:run@copy

于 2015-05-18T09:08:14.510 回答