База на H2 подключение

  • Автор темы Автор темы _Orphen_
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

_Orphen_

Активный участник
Пользователь
Баллы
76
Подсобите! такая раскладка
Class.forName("org.h2.Driver");
conn = DriverManager.getConnection("jdbc:h2:" + name + ";MODE=MySQL", "sa", "");
почему эта фигня не работает?! покажите как это должно быть?
java.lang.IllegalAccessException!!!! что происходит? я второй день ковыряю эти 2 строки... я в клас лоудеры и методы залез толку 0.. на MySQL и SQLite все весело, но Н2 не поддается, при чем если делать просто приложение, то все там работает, без проблем)
 
Покажи полную ошибку.
 
java.lang.ClassNotFoundException: org.h2.Driver
это в случае как я написал.
если я начинаю манипулировать лоадером и методами их то другая ошибка.
java.lang.IllegalAccessException: class ru.rt.sqlite.H2 cannot access a member of class java.net.URLClassLoader (in module java.base) with modifiers "protected"
 
я уже попримерял десятки чужих кодов и никак!
 
Тебе будет проще через shade закинуть библиотеку h2 в плагин. Ну, и желательно сделать релокацию.
Либо в plugin.yml добавить в libraries зависимость - тогда spigot сам подкачает библиотеку, но это не очень рекомендуется.
Если ты хочешь иметь отдельно jar'ник h2 где-нибудь в папке плагина, советую посмотреть, как это реализовано в PlaceholdersAPI или LuckPerms (в первом найти проще будет).
 
Создаешь плагин пустышку вида.
Main
Код:
package h2;

import org.bukkit.plugin.java.JavaPlugin;

public class Main extends JavaPlugin {
 
}
plugin.yml
Код:
name: h2
main: h2.Main
version: 1.0
Запаковываешь Main класс и plugin.yml в h2.jar и помещаешь в папку plugins.
В плагинах что требуют h2 прописываешь depend: [h2] в plugin.yml.
Все гениально и просто и не нужно костылять еще один плагин лоадер внутри своих плагинов.
 
Создаешь плагин пустышку вида.
Main
Код:
package h2;

import org.bukkit.plugin.java.JavaPlugin;

public class Main extends JavaPlugin {
 
}
plugin.yml
Код:
name: h2
main: h2.Main
version: 1.0
Запаковываешь Main класс и plugin.yml в h2.jar и помещаешь в папку plugins.
В плагинах что требуют h2 прописываешь depend: [h2] в plugin.yml.
Все гениально и просто и не нужно костылять еще один плагин лоадер внутри своих плагинов.

Ты не представляешь каким тупым я себя сейчас чувствую!!! это же прям на поверхности лежало!
я через лоудер свой попробовал, понял что криво ппц и вернулся на лайт... ща переделаем назад под h2!!!
Респект чувак!! Огромное спасибище!
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх