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

Несовместимость между модулями (искра и причал) с использованием maven

Я создаю программу, которая использует библиотеки spark и jetty. Зависимости управляются maven.

Проблема в том, что некоторые классы не найдены, если определены зависимости бота. В частности org.eclipse.jetty.server.ServerConnector. С другими классами проблем нет. Если я уберу зависимость от искрового ядра, все будет работать правильно. Почему это может произойти?

Мой пример основан на этом репозитории, и ошибка может быть воспроизведена добавление зависимости spark-core в проект "javax.websocket-example"

Я пробовал разные версии spark-core и jetty-websocket:

  • искровое ядро ​​(2.10 и 2.11): 1.2.0 и 1.2.1
  • Javax.websocket-пример: 9.3.0.M1, 9.2.7.v20150116 и 9.1.5.v9.1.5.v20140505

Зависимости Maven:

    <dependency> <!-- Spark dependency -->
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-core_2.10</artifactId>
        <version>1.2.0</version>
        <!--<scope>provided</scope>-->
    </dependency>
    <dependency> <!-- Jetty dependency -->
        <groupId>org.eclipse.jetty.websocket</groupId>
        <artifactId>javax-websocket-server-impl</artifactId>
        <version>9.2.7.v20150116</version>
        <!--<scope>provided</scope>-->
    </dependency>

РЕДАКТИРОВАТЬ:

Дополнительная информация: я воспроизвел ошибку в пустом сценарии, используя vagrant. Используется поле этот. Я установил maven, git и oracle Java, используя этот вручную. Я провел тест с проектом "javax.websocket-example" этого репозитория .

В этом тесте проект выполняется без зависимости de spark-core и не работает с зависимостью. Версия, используемая в зависимости, является последней, и я пробовал версию проекта причала и последнюю версию 9.2.X (9.2.7.v20150116).

ЗАВИСИМОСТИ:

    <dependency> 
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-core_2.10</artifactId>
        <version>1.2.1</version>
    </dependency>

Ответы:


1

Это проблема зависимости между одной и той же библиотекой с разными версиями. (spark использует 8.1.XXX, а мой модуль использует 9.XX). Зависимость не может быть исключена, поскольку используется в модулях. Тогда эта проблема является проблемой зависимости от Java, и нет решения без других технологий, таких как OSGi.

Я задал аналогичный вопрос здесь

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

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

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

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

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

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

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

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