Зависимости плагина Maven игнорируются - PullRequest
0 голосов
/ 14 января 2011

Я создал этот профиль для развертывания артефактов на сервере через SCP. Я знаю, что задача Ant scp необязательна, поэтому я добавил зависимости.

<profiles>
        <profile>
            <id>remote-deploy</id>
            <build>
                <plugins>
                    <plugin>
                        <artifactId>maven-antrun-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>scp</id>
                                <phase>install</phase>
                                <configuration>
                                    <tasks>
                                        <scp .../>
                                        <sshexec .../>
                                    </tasks>
                                </configuration>
                                <goals>
                                    <goal>run</goal>
                                </goals>
                            </execution>
                        </executions>
                        <dependencies>
                            <dependency>
                                <groupId>org.apache.ant</groupId>
                                <artifactId>ant-jsch</artifactId>
                                <version>1.7.1</version>
                            </dependency>
                            <dependency>
                                <groupId>com.jcraft</groupId>
                                <artifactId>jsch</artifactId>
                                <version>0.1.42</version>
                            </dependency>
                        </dependencies>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>

Однако, когда я запускаю профиль, я получаю

Произошло исключение Ant BuildException: Проблема: не удалось создать задачу или тип Причина scp: класс org.apache.tools.ant.taskdefs.optional.ssh.Scp не был найден. Это похоже на один из необязательных компонентов Ant. Действие: Проверить что соответствующий дополнительный JAR существует в -ANT_HOME \ Lib -динои настройки Ant IDE

Не паникуйте, это обычное дело проблема. Наиболее распространенной причиной является отсутствует JAR.

Это не ошибка; это проблема конфигурации

Возможно ли, что maven не смог загрузить эти зависимости или просто игнорирует их?

Ответы [ 3 ]

1 голос
/ 18 января 2011

Проблема заключалась в том, что Maven (2.2.1) не загружал зависимости.Я узнал после того, как обновил Maven до версии 3. По какой-то причине, новая версия загрузила зависимости плагина, и он чудесным образом начал работать.

У меня есть подозрение, что проблема была в настройках старой версии Maven -pluginRepository не настроен.

0 голосов
/ 02 февраля 2011

Существует maven-antrun-plugin ошибка записи , которая может объяснить, почему это происходит в Maven-2, они также описывают обходные пути

В мульти-модульные сборки, если есть несколько poms, конфигурирующих maven-antrun-plugin, первый (?), кажется, выигрывает, так что те, кто позже в цепочке сборки, повторно используют конфигурацию antrun из более ранних poms, упуская, таким образом, материал, которыйдругой ...

В моем проблемном случае я решил использовать Maven-3 , где проблема, кажется, решена, вместо обходных путей с Maven-2.Это также имело дополнительное преимущество в ускорении сборки - теперь оно занимает 6 минут вместо 10 минут раньше.Однако, если Maven-3 для вас невозможен, я бы попробовал обходные пути ...

0 голосов
/ 14 января 2011

Вероятно, maven скачал банки, но его нет в пути к муравьям.Если цель состоит в том, чтобы развернуть артефакты с помощью maven, вам, вероятно, следует использовать Maven Deploy Plugin .То, что вы делаете, кажется окольным путем.

...