Как установить определенный пакет, например derbytools, с Maven без указания его как зависимости от проекта?Установленный пакет с Maven
ответ
Вот пример, используя цель mvn install
. Я использовал параметры env vars для windows вместо параметров, которые вам нужно будет предоставить.
mvn install:install-file -DgroupId=%DERBYTOOLS_GROUP_ID% \
-DartifactId=%DERBYTOOLS_ARTIFACT_ID% \
-Dversion=%DERBYTOOLS_VERSION% \
-Dpackaging=jar \
-Dfile=%DERBYTOOLS_FILE_PATH%
Для того, чтобы Maven мог использовать банку, банку нужно объявить как зависимость.
Если у вас есть банку, которая еще не существует в репозитории Maven, вы можете установить ее в свой локальный репозиторий, используя install-file goal установочного плагина (как говорит ответ богатого). Это создает pom, используя предоставленные вами значения, и устанавливает pom и jar в локальный репозиторий. Как только это будет сделано, вы затем добавите зависимость от pom вашего проекта и будете использовать его как обычно.
В этом случае зависимость действительно существует на центральном репозитории Maven (вы можете просто поиск артефактов с помощью Sonatype public repository кстати), так что вы можете просто добавить эту зависимость к вашему POM:
<dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derbytools</artifactId>
<version>10.4.2.0</version>
</dependency>
Если вы не хотите устанавливать зависимость по какой-либо причине, вы также можете использовать область system
для ссылки на банку по абсолютной траектории файловой системы. Этот подход не рекомендуется, поскольку он, очевидно, влияет на переносимость.
Из документации:
зависимости с системой областей видимости всегда доступны и не ищется в хранилище. Обычно они используются для указания Maven о зависимостях, предоставляемых JDK или VM.
Вы можете ссылаться на вашу derbytools банку как зависимость системы в области видимости, как это:
<dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derbytools</artifactId>
<version>10.4.2.0</version>
<scope>system</scope>
<systemPath>/path/to/derbytools.jar</systemPath>
</dependency>
- 1. Установленный пакет Virtualenv не найден
- 2. Как удалить установленный пакет elpa
- 3. littler не видит установленный пакет
- 4. Не удалось импортировать установленный пакет
- 5. Импорт целевой установленный пакет Python
- 6. Найти установленный пакет с ожиданием по linux
- 7. ocamlfind не находит установленный пакет с godi
- 8. Удалить пакет, установленный с помощью Curl
- 9. Как проверить установленный пакет с testthat?
- 10. Установленный пакетный пакет Debian с номерами версий
- 11. Как вернуть обратно установленный пакет
- 12. Невозможно вызвать пакет, установленный композитором
- 13. Тестирование на установленный Apache Maven
- 14. Maven создать пакет с проектом
- 15. RPM-пакет с использованием maven
- 16. virtualenv на Windows: не перегружен установленный пакет
- 17. ocamlfind не может увидеть установленный пакет
- 18. Как найти установленный пакет nuget на консоли?
- 19. Установленный пакет Chocolatey не на пути
- 20. android SDK manager, только показать установленный пакет
- 21. setup.py установленный пакет не может быть импортирован
- 22. Как проверить установленный пакет в Puppet?
- 23. NPM-глобально установленный пакет не работает
- 24. Установленный пакет Python не будет импортировать модули
- 25. Используя установленный пакет композитора непосредственно в Symfony
- 26. Shiny Server не может загрузить установленный пакет
- 27. Python: установленный пакет селена не обнаружен
- 28. Emacs (24.4.1) не откроет установленный пакет
- 29. Создайте пакет maven
- 30. Maven изменить пакет
Что такое файл аргумент? Мне не нужно указывать его, когда я определяю зависимости. – Pablo 2008-11-17 17:59:11