Nano Hash - криптовалюты, майнинг, программирование

Зависимость многопроектной библиотеки Maven

У меня есть корпоративный проект (*.ear), упакованный maven. Ушной файл включает в себя множество файлов:

final.ear
|-lib
|-META-INF 
|--web.war
|--bla-bla.jar
|--web-bla.war

Каждый файл (jar, war) запакован maven.
1) Как поместить все необходимые библиотеки из всех файлов (war, jar) в final.ear/lib?
2) Как сгруппировать библиотеки из /lib, например: библиотека/ось, библиотека/регистрация?

19.11.2014

Ответы:


1

Использование функции подключаемого модуля Maven EAR — Skinny Wars хорошо работал для меня для этой проблемы.

19.11.2014
  • Это помогает переместить крышку из web.war/WEB-INF/lib в ear.lib? 19.11.2014

  • 2

    1 EJB jar) в файле pom.xml jar сделать зависимость «не предоставленной», чтобы Maven знал, что зависимость необходима в пути к классам среды выполнения и, следовательно, должна быть развернута с приложением — это вызовет его добавление к уху/ библиотека

    1 war) В основном то, что вы описываете здесь, это то, что «вместо того, чтобы упаковывать зависимость с войной, упаковывайте ее в родительский EAR». В терминах Maven вы затем добавляете зависимость к pom.xml уха (так что она находится в пути к классам во время выполнения), и вы отмечаете зависимость, как указано в pom.xml войны (так что это во время компиляции путь к классам, но не в пути к классам среды выполнения). ИЛИ используйте функцию тощих войн, как предлагает Steve C.

    2) Единственный способ увидеть, как это происходит, - это полностью микроуправлять зависимостями в pom.xml уха:

    http://maven.apache.org/plugins/maven-ear-plugin/examples/customizing-module-location.html

    19.11.2014
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..