Добавление jar, созданного с использованием сборки ant с плагином antrun, в зависимости сборки maven - PullRequest
0 голосов
/ 16 июня 2020
  • У меня несколько проектов, в которых для управления сборкой используется ant. Теперь мы создали новый проект, который использует Maven для управления сборкой.
  • Поскольку новый проект, использующий maven, зависит от проектов, построенных с использованием ant.
  • Мне удалось интегрировать сборку отдельных проектов в текущей сборке maven с использованием плагина maven antrun
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-antrun-plugin</artifactId>
                <version>1.8</version>
                <executions>
                    <execution>
                        <id>deploy-artifact</id>
                        <phase>validate</phase>
                        <goals>
                            <goal>run</goal>
                        </goals>
                        <configuration>
                            <target>
                                <ant antfile="../project1/build.xml" inheritAll="false">
                                    <target name="dist"/>
                                </ant>
                                <ant antfile="../project2/build.xml" inheritAll="false">
                                    <target name="dist"/>
                                </ant>
                            </target>
                        </configuration>
                    </execution>
                </executions>
                <dependencies>
                    <dependency>
                        <groupId>commons-net</groupId>
                        <artifactId>commons-net</artifactId>
                        <version>1.4.1</version>
                    </dependency>
                    <dependency>
                        <groupId>org.apache.ant</groupId>
                        <artifactId>ant-commons-net</artifactId>
                        <version>1.8.1</version>
                    </dependency>
                    <dependency>
                        <groupId>com.sun</groupId>
                        <artifactId>tools</artifactId>
                        <version>1.5.0</version>
                        <scope>system</scope>
                        <systemPath>${java.home}/../lib/tools.jar</systemPath>
                    </dependency>
                </dependencies>
            </plugin>
  • Проблема, с которой я столкнулся сейчас, заключается в том, что когда сборка для project1 и project2 завершена, я хочу, чтобы сгенерированный jar использование цели ant dist для использования в качестве зависимости в текущей сборке maven.
  • сборка maven для текущего проекта ломается, поскольку она ищет jar-файлы project1 и project2 во время компиляции, но они отсутствуют. Я хочу, чтобы сборки для project1 и project2 запускались в текущей сборке maven, а зависимости не добавлялись с помощью внешней командной строки mvn: install: install-file

Любые предложения / решения будут буду высоко оценен.

1 Ответ

0 голосов
/ 16 июня 2020

Это невозможно.

Все зависимости сборки Maven должны существовать до запуска сборки. Они разрешаются в самом начале сборки.

...