Maven3 antrun: не удалось создать задачу или набрать replaceregexp - PullRequest
4 голосов
/ 22 июня 2011

Я пытаюсь написать простую задачу, используя maven

<plugin>
 <artifactId>maven-antrun-plugin</artifactId>
 <version>1.3</version>
 <executions>
  <execution>
    <phase>install</phase>
    <goals>
        <goal>run</goal>
    </goals>
    <configuration>
    <tasks>
     <replaceregexp file="dir=target/liquibase/*.sql" match="**DATABASECHANGELOGLOCK**" 
             replace="" byline="true" />
        </tasks>
    </configuration>
    </execution>
  </executions>
</plugin>

Когда я запускаю это, я получаю

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.3:run (default) on project Tik
[ERROR] Cause: the class org.apache.tools.ant.taskdefs.optional.ReplaceRegExp was not found.
[ERROR] This looks like one of Ant's optional components.
[ERROR] Action: Check that the appropriate optional JAR exists in
[ERROR] -ANT_HOME\lib
[ERROR] -the IDE Ant configuration dialogs
[ERROR]
[ERROR] Do not panic, this is a common problem.
[ERROR] The commonest cause is a missing JAR.
[ERROR]
[ERROR] This is not a bug; it is a configuration problem
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

Я включил зависимости ant и ant-nodeps,но не может заставить его работать, и поиск в Google не помог.

У кого-нибудь есть решение для этого?

Заранее спасибо.

Ответы [ 2 ]

8 голосов
/ 23 июня 2011

Я пишу это на случай, если кто-нибудь получит эту проблему

Проблема заключалась в том, что maven не заботился о ANT_HOME или о чем-либо. Зависимости должны быть объявлены внутри плагина antrun.

Итак, я изменил свой pom.xml, чтобы он выглядел так:

<plugin>
    <artifactId>maven-antrun-plugin</artifactId>
    <version>1.3</version>
    <dependencies>
        <dependency>
            <groupId>ant</groupId>
            <artifactId>ant-nodeps</artifactId>
            <version>1.6.5</version>
        </dependency>
    </dependencies>
    <executions><execution>...</execution></executions>
</plugin>
1 голос
/ 19 февраля 2018

maven-antrun-plugin версия 1.8 больше не имеет этой проблемы.Его зависимости указывают на более новую версию Ant, поэтому вам больше не нужно добавлять зависимость к объявлению плагина в вашем pom.

...