Помогите Плагин-зависимость через Maven

  • Автор темы Автор темы qw_
  • Дата начала Дата начала

qw_

Новичок
Баллы
16
Имя в Minecraft
itquietw
Привет.
Делаю проект, который использует две зависимости (кроме Spigot): JDA и свой плагин.
Проблема в том, что если я подключаю свой плагин через Maven, то при обращении к какому-либо методу его класса (к примеру тот же getInstance какого-либо класса), то он возвращает null.
Я бы мог подключить его jar напрямую к проекту, но JDA так подключить нельзя, а мне надо использовать и то и то.

Как решить эту проблему?

Пример класса из подключаемого плагина
Код:
public class DatabaseEditor {

    static Connection connection;
    public static DatabaseEditor instance;

    public DatabaseEditor(Connection con) {
        connection = con;
        QChat.getInstance().getLogger().info("DB Connected");
        String query = "CREATE TABLE IF NOT EXISTS 'users' (" +
                "'username' TEXT NOT NULL UNIQUE, " +
                "'chat' TEXT NOT NULL " +
                ")";
        try {
            Statement statement = connection.createStatement();
            statement.executeUpdate(query);
            String query_delete = "DELETE FROM users";
            statement.executeUpdate(query_delete);
            statement.close();
            QChat.getInstance().getLogger().info("DB Table created.");
        } catch (SQLException e) {
            e.printStackTrace();
        }
        instance = this;
    }

    public static void selectChat(Player player, Chat chat) {
        String name = player.getName();
        String query = String.format("INSERT INTO users VALUES('%s', '%s')", name, chat.getName());
        String query_delete = String.format("DELETE FROM 'users' WHERE username='%s'", name);
        try {
            Statement statement = connection.createStatement();
            statement.executeUpdate(query_delete);
            statement.executeUpdate(query);
            statement.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    public static String getSelectedChat(Player player) {
        String name = player.getName();
        String query = "SELECT chat FROM users WHERE username = '" + name + "'";
        String result = "none";
        try {
            Statement statement = connection.createStatement();
            ResultSet rs = statement.executeQuery(query);
            while(rs.next()) {
                result = rs.getString("chat");
            }
            statement.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return result;
    }

    public static DatabaseEditor getInstance() {
        return instance;
    }

}

Код обращения к подключаемому плагину
Код:
if(DatabaseEditor.getSelectedChat(event.getPlayer()).equals(ChatGlobal.getInstance().getName())) {

Ошибка в консоли
Код:
[16:55:30 ERROR]: Could not pass event AsyncPlayerChatEvent to (название плагина) v1.0                                        java.lang.NullPointerException: Cannot invoke "java.sql.Connection.createStatement()" because "quietw.qchat.Database.DatabaseEditor.connection" is null
Код:
[16:55:30 ERROR]: Could not pass event AsyncPlayerChatEvent to (название плагина) v1.0                                        java.lang.NullPointerException: Cannot invoke "java.sql.Connection.createStatement()" because "quietw.qchat.Database.DatabaseEditor.connection" is null
 
Назад
Верх