2016-09-19 2 views
1

Теперь это кажется настолько странным, что этого не должно произойти. В любом случае, позвольте мне объяснить, что происходит: Я создаю плагин bukkit, который нуждается в доступе к базе данных. Для этого я использую HikariCP. Я использовал его раньше в нескольких проектах, и у меня не было проблем с ним, но произошло что-то действительно странное. Добавив его как зависимость от моего pom и настроив плагин для тени, я построил банку. Я даже проверил его содержимое, используя Winrar, чтобы разобрать его, и все это выглядело так, как должно. Однако, как только я загрузил его, я получил исключение NoClassDefFound. Я предоставил здесь pom, если это вам поможет, но, как я уже сказал, последняя банка выглядит отлично. Кроме того, если вы не знакомы с Bukkit и тем, как он обрабатывает плагины, это довольно просто. У него в основном есть папка, где вы размещаете свои банки (плагины). Затем он просматривает его, а затем загружает основной класс вашего плагина (который определен в файле yml в банке и должен расширять JavaPlugin), а затем вызывает метод onEnable() внутри основного класса.Затенение HikariCP в банку не будет работать

EDIT: Забыл добавить П, здесь: http://hastebin.com/rapijoyona.xml Кроме того, если вам нужна трассировка стеки: http://hastebin.com/owazutekum.go

ответ

1

Вы должны определить, что должно быть в тени.

<execution>  
    <phase>package</phase> 
    <goals> 
     <goal>shade</goal> 
    </goals> 
    <configuration> 
     <shadedArtifactId>${project.artifactId}-${minecraft.version}</shadedArtifactId> 
     <shadedArtifactAttached>true</shadedArtifactAttached> 
     <shadedClassifierName>shaded</shadedClassifierName> 
     <minimizeJar>true</minimizeJar> 
     <!-- INCLUDE SHADE--> 
     <artifactSet>    
      <includes> 
       <include>groupId:artifactId</include> 
      </includes> 
     </artifactSet>   
    </configuration>   
</execution> 

И да, я читал, что вы написали, но попробовать это, может быть, это работает лучше

+0

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