У меня есть проект, который содержит два модуля. Модуль base
- это pom
, который должен использоваться как родительский для определенного типа проектов. Модуль archetype
является архетипом, который создает проект, который использует проект base
как родительский. Я хочу использовать maven-release-plugin
для выпуска этих проектов. Проблема заключается в том, что archetype
имеет интеграционный тест, для которого требуется установить base
в локальный репозиторий (test
-goal запускается во вновь созданном проекте как часть теста интеграции). Когда я готовлю выпуск, maven-release-plugin
запускает только test
-goal для каждого модуля. Это означает, что интеграционный тест всегда терпит неудачу, потому что base
не может быть найден, так как он не был установлен. Есть ли обходной путь для этого?Модуль требует установки другого модуля
ответ
Решение состоит в том, чтобы запустить install:file-install
в pre-integration-test
-фазе архетипа и настроить его для установки требуемого родителя.
Ну, вы можете (и, вероятно, должны) определить мультимодальный проект pom
, который объединяет все эти внутренние модули, поэтому они могут быть построены в рамках общего реактора, что позволяет им видеть друг друга, даже если они не установлены в локальный репозиторий , Затем вы всегда выпускаете этот проект pom
(агрегатор) и все его модули (включая base
и archetype
) вместе с ним.
У меня такая же ситуация, когда в проекте, создаваемом архетипом, используется плагин Maven, построенный в том же реакторе. Я использую invoker:install
, чтобы установить мой плагин в локальный репозиторий, используемый только для теста интеграции архетипа (с использованием того же localRepositoryPath
для обоих invoker:install
и archetype:integration-test
); invoker:install
фактически устанавливает все уже построенные артефакты из реактора, поэтому мне даже не нужно указывать что-либо. Я не сталкивался с какой-либо проблемой при заказе (мой плагин построен до моих архетипов), но я бы предположил, что могу просто добавить зависимость от плагина из архетипа (в scope=test
).
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-invoker-plugin</artifactId>
<version>1.8</version>
<executions>
<execution>
<goals>
<goal>install</goal>
</goals>
</execution>
<configuration>
<localRepositoryPath>${project.build.directory}/it-repo</localRepositoryPath>
</configuration>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-archetype-plugin</artifactId>
<version>2.2</version>
<configuration>
<localRepositoryPath>${project.build.directory}/it-repo</localRepositoryPath>
</configuration>
</plugin>
- 1. Ошибка установки Magento: модуль «Mage_Api2» требует модуля «Mage_Oauth»
- 2. Ошибка Magento: модуль «Mage_Api» требует модуля «Mage_Core»
- 3. Puppet - установить модуль через манифест другого модуля
- 4. Динамический модуль требует строки
- 5. Выбор установки модуля, javascript или собственный модуль
- 6. Nodejs требует поведения модуля
- 7. Как ссылаться модуль из зависимостей другого модуля
- 8. Как загрузить модуль перед загрузкой другого модуля?
- 9. Linux: модуль загрузки на основе другого модуля
- 10. Как динамически вводить модуль внутри другого модуля?
- 11. Dotnetnuke - Как вставить модуль внутри другого модуля?
- 12. требуется модуль из-за ошибок другого модуля
- 13. Извлеките продукты в модуль модуля предварительного модуля и модуль для установки после проверки страницы
- 14. Ошибка установки модуля модуля NPM
- 15. Метеор требует неопубликованного модуля НОГО
- 16. Ошибка установки модуля Pyopencl
- 17. Casper js требует модуля
- 18. CPAN проблемы установки модуля
- 19. Модуль узла установки вручную
- 20. Ошибка модуля установки Ckan
- 21. Модуль модуля ruby внутри модуля
- 22. Почему SciPy требует установки?
- 23. Ошибка установки модуля Cpan
- 24. Угловое ускорение popover требует модуля подсказки?
- 25. vscode не требует поиска мыльного модуля
- 26. Ошибка Nativescript требует модуля nativescript-background-http
- 27. Настройка Python, установите один модуль в качестве дополнительного модуля другого модуля?
- 28. Сценарий установки/установки модуля Magento
- 29. getPackageName для другого модуля
- 30. Проблемы прокси с установки модуля
Это то, что у меня есть сейчас. Проблема в том, что интеграционный тест для архетипа создает новый проект, который зависит от «базы» и не может быть частью реактора. –
ОК, я вижу. Так что, вероятно, это невозможно. Я не знаю трюка, чтобы динамически присоединить какой-то проект к созданию реактора. Может быть, есть хакерский путь, но, честно говоря, я не могу представить, как это может сработать. –