Попытка упаковать конкретную библиотеку в мою банку не работает

Я не могу упаковать необходимые библиотеки в свой Jar, плагин тени не дает никакого вывода в консоли, что затрудняет описание того, что здесь происходит, так как его больше не хватает.

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-shade-plugin</artifactId>
        <version>2.4.3</version>
        <executions>
            <execution>
                <phase>package</phase>
                <goals>
                    <goal>shade</goal>
                </goals>
                <configuration>
                    <artifactSet>
                        <includes>
                            <include>org.javacord:javacord</include>
                        </includes>
                    </artifactSet>
                </configuration>
            </execution>
        </executions>
    </plugin>

Я так понимаю, так делать нельзя?

Это библиотека, которую я пытаюсь упаковать:

<dependency>
    <groupId>org.javacord</groupId>
    <artifactId>javacord</artifactId>
    <version>3.0.4</version>
    <type>pom</type>
    <scope>provided</scope>
</dependency>

Вывод консоли вставлен сюда: https://hastebin.com/soxafiqupe.cs.


person Tau    schedule 17.04.2019    source источник
comment
maven-shade-plugin по умолчанию игнорирует зависимости с областью видимости provided. maven.apache.org/plugins/maven-shade-plugin/ shadow-mojo.html кроме того, у меня есть сомнения в том, что приведенная выше зависимость верна, потому что <type>pom</type> означает, что у вас нет jar и т. д., который можно поместить ни в путь к классам, ни в путь к модулю... Я ожидал использовать <artifactId>javacord-core</artifactId>...или <artifactId>javacord-api</artifactId> search.maven.org/search?q=org .javacord ...   -  person khmarbaise    schedule 17.04.2019


Ответы (1)


Сначала проверьте, если, как здесь, определение вашего плагина в вашем помпоне, а не в вашем родительском помпе (если он у вас есть)

Затем убедитесь (как в этом ответе), что раздел plugin находится внутри раздела build, а не build/pluginManagement.

Если вам нужно больше трассировок, mvn -X clean install будет более подробным.

person VonC    schedule 17.04.2019