Как разрешить Apache Ignite с зависимостями Hibernate?

Я хочу интегрировать спящий режим в Apache Ignite. Я знаю, что спящий режим - это зависимость от lgpl. (Даже я не знаю, как использовать зависимости lgpl).

....@ubuntu:~.../apache-ignite-2.5.0-src/modules/hibernate-5.1$ mvn clean package -DskipTests -Prelease,lgpl

В конце концов, я увидел сообщение «СТРОИТЬ УСПЕХ». Теперь, когда я смотрю в каталог .../apache-ignite-2.5.0-src/modules/hibernate-5.1, я вижу, что есть

  • ignite-hibernate_5.1-2.5.0.jar и
  • ignite-hibernate_5.1-2.5.0.sources.jar

Дополнительно в этом каталоге .../.m2/repository/org/apache/ignite/ignite-hibernate_5.1/2.5.0

У меня есть эти файлы:

  • ignite-hibernate_5.1-2.5.0.jar
  • ignite-hibernate_5.1-2.5.0.pom.lastUpdated
  • ignite-hibernate_5.1-2.5.0.jar.lastUpdated
  • ignite-hibernate_5.1-2.5.0-sources.jar.lastUpdated
  • ignite-hibernate_5.1-2.5.0.pom
  • _remote.repositories

Теперь, что я хочу вместо этого: просто создать папку lib в моем проекте и добавить в правильная банка или что-то еще зависимость hibernate lpgl, затем щелкнуть правой кнопкой мыши проект-> Свойства-> Путь сборки Java-> Добавить JARS, затем я выберу файл в папка lib.

Я использовал hibernate_5.1-2.5.0.jar и hibernate_5.1-2.5.0.sources.jar в apache-ignite-2.5.0-src/modules/hibernate-5.1, но это не сработало.

Я также использовал ignite-hibernate_5.1-2.5.0.jar в .m2/repository/org/apache, но он тоже не работал.

(В обоих случаях я скопировал файлы и скопировал их в lib, как я сказал)

Что я должен делать?

ОБНОВЛЕНО: Итак, что я сделал: - Я взял банки из локального репозитория и поместил их в src -> main -> resources -> lib. (Вот картинка папка lib) - Затем перейдите в Project Structure -> Modules -> Dependencies -> + (добавьте папку lib) (вот картинка проектСтруктура) - Теперь мой проект хорошо работает, когда я работаю над ide или использую плагин onejar. - Но когда я хочу преобразовать в jar через плагин maven-shade, он выдает ошибку. вот ошибка - Вот плагин, закрашенный maven

<plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-shade-plugin</artifactId>
            <version>${maven.shade.plugin.version}</version>
            <executions>
                <execution>
                    <goals>
                        <goal>shade</goal>
                    </goals>
                    <configuration>
                        <shadedArtifactAttached>true</shadedArtifactAttached>
                        <transformers>
                            <transformer
                                    implementation = "org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                <resource>META-INF/spring.handlers</resource>
                            </transformer>
                            <transformer
                                    implementation = "org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                <resource>META-INF/spring.schemas</resource>
                            </transformer>
                            <transformer
                                    implementation = "org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                <mainClass>ignite.IgniteMainApp</mainClass>
                            </transformer>
                        </transformers>
                    </configuration>
                </execution>
            </executions>
        </plugin>
  • Вот одна баночка плагин

  • Как решить проблему в maven-shaded?

Другие пользователи отметили ваш вопрос как низкое качество и необходимость улучшения. Я переформулировал / отформатировал ваш ввод, чтобы его было легче читать / понимать. Просмотрите мои изменения, чтобы убедиться, что они отражают ваши намерения. Не стесняйтесь писать мне комментарий, если у вас есть дополнительные вопросы или отзывы для меня.

GhostCat 13.09.2018 15:27

спасибо, надеюсь, теперь будет легко понять.

monstereo 13.09.2018 15:29

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

pojo-guy 19.09.2018 17:48
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
3
272
2

Ответы 2

Вы на самом деле не указали, что именно у вас не работает, но я предполагаю, что вам не хватает необходимых зависимостей (Hibernate JAR и т. д.). Самый простой способ использовать Maven, который автоматически извлекает все эти зависимости. В качестве альтернативы вы можете собрать полный пакет, как описано в файле DEVNOTES.txt. Затем вы найдете все модули со всеми зависимостями в папке libs.

Моя проблема в том, что я не могу добавить в свой проект зависимость ignite-hibernate_5.1. В частности, я хочу поместить jar ignite-hibernate_5.1 в мою папку lib в проекте, а затем добавить его в путь к классам. Однако какой файл jar мне следует использовать?

monstereo 13.09.2018 20:33

Что ж, ignite-hibernate_5.1-2.5.0.jar - это тот, который содержит код интеграции Ignite, но у него есть необходимые зависимости. Пожалуйста, обновите свой вопрос описанием реальной проблемы. Совершенно непонятно, с чем вы воюете.

Valentin Kulichenko 13.09.2018 20:40

Я просто хочу знать, как добавить ignite-hibernate_5.1-2.5.0.jar эту зависимость в свой проект. Потому что мне непонятна документация в Ignite? Не могли бы вы предоставить пошаговую инструкцию. (Но подумайте об этом, этот проект будет развернут серверной машиной, а не только локальным в конце)

monstereo 13.09.2018 20:47

Могу сделать файл конфигурации (hibernate.cfg.xml, vs ..). Мне просто нужно понять, как я могу получить этот ignite-hibernate_5.1-2.5.0.jar.

monstereo 13.09.2018 20:49

Способ добавления JAR в ваш проект зависит только от того, как ваш проект организован, он не связан с самим Ignite. Вы можете использовать Maven, Gradle, добавлять JAR-файлы вручную и т. д. Если вам нужна помощь с этим, вы должны описать вашу проблему более подробно - что именно вы делаете, что вы получаете в результате (какие-либо ошибки?) И т. Д. В противном случае непонятно, в чем проблема.

Valentin Kulichenko 13.09.2018 21:35

Зависимость Gradle не загружает эту банку, если кто-то знает, дайте мне также знать, что делать, чтобы загрузить эту банку через gradle Исключение: не удалось найти org.apache.ignite: ignite-hibernate_5.1-2.5.0

Amol Chaudhari 30.04.2020 19:47

Вы не можете добавить банку в IDEA и ожидать, что maven ее увидит. Это два отдельных инструмента. Для правильной работы maven вам необходимо иметь все зависимости в репозитории maven.

При сборке ignite-hibernate_5.1-2.5.0.jar с помощью maven используйте команду install. Он добавит jar в ваш локальный репозиторий maven, и он будет доступен вашему проекту как зависимость maven. После этого добавьте зависимость в конфигурацию maven (с помощью тега <dependency>) и удалите банку из каталога libs - она ​​вам не нужна, maven не сможет ее использовать, и ее наличие вызовет только проблемы.

Другие вопросы по теме