maven-antrun-plugin возвращает плагин не найден

Я следовал за пост- установочным jar, собранным из муравейной задачи в локальный репозиторий maven

Я не могу понять, в чем проблема, но это просто не работает. Я не знаю, почему они использовали <arg value="mvn.bat"/> вместо <arg value="mvn "/>В любом случае у меня есть следующий XML-файл:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-antrun-plugin</artifactId>
            <version>1.8</version>
            <executions>
                <execution>
                    <phase>generate-sources</phase>
                    <configuration>  
         <target name="mvn">
          <property environment="env" />
          <property name="appname" value="hellojavaworld" />
           <exec dir="." executable="cmd">
             <arg value="/c"/>
             <arg value="mvn "/>
             <arg value="install:install-file"/>
             <arg value="-Dfile=c:\Documents and Settings\bbb\workspace\HelloServlet\hellojavaworld\src\main\java\hellojavaworld.bin\hellojavaworld.jar"/>
             <arg value ="-DgroupId=${appname}"/>
             <arg value="-DartifactId=${appname}"/>
             <arg value="-Dversion=1.0"/>
             <arg value="-Dpackaging=jar"/>
             <arg value="-DgeneratePOM=true"/>  
           </exec>
         </target>
                    </configuration>
                    <goals>
                        <goal>run</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.5.1</version>
            <configuration>
                <source>1.5</source>
                <target>1.5</target>
            </configuration>
        </plugin>
    </plugins>
</build>

Возвращает ошибки:

Ошибка разрешения версии для плагина ' install:install-file -D file=c' из репозиториев [локальный (C:\Documents and Settings\bbb.m2\repository), центральный ( https://repo.maven.apache.org/maven2)]: плагин не найден ни в одном хранилище плагинов

1 ответ

Ваша проблема очень тонкая, и сообщение об ошибке не помогает в этом случае.

Проблема заключается в следующей конфигурации maven-antrun-plugin:

<arg value="mvn "/>

Так должно быть

<arg value="mvn"/>

Пространство в конце кодируется в %20 и это все портит. Я заметил это, потому что при запуске вашей конфигурации я увидел следующий журнал:

[exec] Downloading: https://repo.maven.apache.org/maven2/%20install/install-file%20-Dfile=c/maven-metadata.xml

Обратите внимание, что в этом журнале Maven пытается найти install-file%20 плагин, который, очевидно, не работает.

Другие вопросы по тегам