java.lang.NoClassDefFoundError при употреблении кофеина

#java #maven #bukkit #caffeine-cache

Вопрос:

Я делал плагин Minecraft (с maven) и собирался использовать кофеин для кэша, но когда я запустил свой сервер с помощью jar плагина, я получил ошибку:

 java.lang.NoClassDefFoundError: com/github/benmanes/caffeine/cache/Caffeine
 

Я обновлен до последней версии кофеина (v3.0.3) и maven (v3.8.1). Честно говоря, мне больше нечего показать, кроме этой ошибки. Я импортировал только следующие пакеты кофеина:

 import com.github.benmanes.caffeine.cache.Cache;
import com.github.benmanes.caffeine.cache.Caffeine
 

pom.xml (без РЕПО)

 <dependency>
 <groupId>com.github.ben-manes.caffeine</groupId>
 <artifactId>caffeine</artifactId>
 <version>3.0.3</version>
</dependency>
 

журнал сервера: https://pastebin.com/zMzx37dk

Комментарии:

1. Файл jar кофеина должен быть передан на ваш сервер вместе с вашим плагином или должен быть упакован в вашу банку.

Ответ №1:

Похоже, что причина в том, что библиотека не включена в файл jar. Попробуйте построить, добавив plugins в in следующий код pom.xml.

 <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-shade-plugin</artifactId>
    <version>3.2.4</version>
    <executions>
        <execution>
            <phase>package</phase>
            <goals>
                <goal>shade</goal>
            </goals>
            <configuration>
                <createDependencyReducedPom>false</createDependencyReducedPom>
            </configuration>
        </execution>
    </executions>
</plugin>