1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

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

Тема в разделе "Разработка плагинов для новичков", создана пользователем _Orphen_, 2 июн 2022.

Статус темы:
Закрыта.
  1. Автор темы
    _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 не поддается, при чем если делать просто приложение, то все там работает, без проблем)
     
  2. imDaniX

    imDaniX Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Покажи полную ошибку.
     
  3. Автор темы
    _Orphen_

    _Orphen_ Активный участник Пользователь

    Баллы:
    76
    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"
     
  4. Автор темы
    _Orphen_

    _Orphen_ Активный участник Пользователь

    Баллы:
    76
    я уже попримерял десятки чужих кодов и никак!
     
  5. imDaniX

    imDaniX Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Тебе будет проще через shade закинуть библиотеку h2 в плагин. Ну, и желательно сделать релокацию.
    Либо в plugin.yml добавить в libraries зависимость - тогда spigot сам подкачает библиотеку, но это не очень рекомендуется.
    Если ты хочешь иметь отдельно jar'ник h2 где-нибудь в папке плагина, советую посмотреть, как это реализовано в PlaceholdersAPI или LuckPerms (в первом найти проще будет).
     
  6. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Создаешь плагин пустышку вида.
    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.
    Все гениально и просто и не нужно костылять еще один плагин лоадер внутри своих плагинов.
     
  7. Автор темы
    _Orphen_

    _Orphen_ Активный участник Пользователь

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

Поделиться этой страницей