Как разрешить Apache Ignite с зависимостями Hibernate? - PullRequest
0 голосов
/ 13 сентября 2018

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

.... @ ubuntu: ~ ... / apache-ignite-2.5.0-src / modules / hibernate-5.1 $ mvn чистый пакет -DskipTests -Prelease, lgpl

После всего, что я видел сообщение "BUILD SUCCESS". Теперь, когда я смотрю на каталог .../apache-ignite-2.5.0-src/modules/hibernate-5.1, я вижу, что есть

  • ignite-hibernate_5.1-2.5.0.jar и
  • воспламенить-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.lastUpdated
  • воспламенить-hibernate_5.1-2.5.0-sources.jar.lastUpdated
  • ignite-hibernate_5.1-2.5.0.pom
  • _remote.repositories

Теперь, что я хочу вместо этого: просто создать папку lib в моем проекте и добавить в правильный jar или что-то в этом роде hibernate lpgl зависимость, затем щелкните правой кнопкой мыши проект-> properties-> Java Build Путь-> Добавить 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 ) - Затем перейдите в Структура проекта -> Модули -> Зависимости -> + (добавьте папку lib) (Вот картинка projectStructure ) - Теперь мой проект работает хорошо, когда я работаю над ide или использую onejar плагин. - Но когда я хочу конвертировать в банку с помощью плагина Maven-Shade, это дает ошибку. вот ошибка - Вот плагин в мавеном оттенке

<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>
  • Вот одна банка Плагин

  • Как решить проблему в заштрихованном виде?

Ответы [ 2 ]

0 голосов
/ 17 сентября 2018

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

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

0 голосов
/ 13 сентября 2018

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

...