Vertx-HK2 и Vertx-Jersey проблема с разделением пакета на Intellij - PullRequest
0 голосов
/ 24 апреля 2018

Я пытался перенести сервис на java 9, и, несмотря на то, что я могу скомпилировать и запустить fat.jar, я не могу запустить его на Intellij, и причина в проблемах с разделенным пакетом с библиотеками vertx- hk2 и vertx.jersey, поскольку обе библиотеки имеют одинаковый пакет com.englishtown.vertx.hk2

Я пытался обойти эту проблему с помощью таких идей, как (патч-модули, исключая), но, похоже, ничего не работает, и я не могу просто исключить один из них, поскольку оба они необходимы для запуска службы.

когда intellij пытается запустить службу, это происходит

Error occurred during initialization of boot layer
java.lang.module.ResolutionException: Modules vertx.jersey and vertx.hk2 export package com.englishtown.vertx.hk2 to module kryo.serializers

Process finished with exit code 1

и причина довольно ясна

Так что я хотел бы попросить помощи у кого-нибудь, кто имел это, как вам удалось запустить его?

P.S: мой вопрос к владельцу проекта https://github.com/ef-labs/vertx-hk2/issues/8

1 Ответ

0 голосов
/ 25 апреля 2018

Я нашел способ преодолеть эту проблему, я в основном закрасил две банки, которые имели один и тот же пакет, в одну, пом выглядели довольно просто, что-то вроде

<build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>3.1.1</version>
                <configuration>
                    <!-- put your configurations here -->
                </configuration>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                        <configuration>
                            <artifactSet>
                                <includes>
                                    <include>com.englishtown.vertx:vertx-hk2</include>
                                    <include>com.englishtown.vertx:vertx-jersey</include>
                                </includes>
                            </artifactSet>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

нет идеального решения, но оно сработало, затененный jar объединил пакеты, которые обе библиотеки могли сосуществовать в одном модуле.

...