Я использую spring-boot-spigot-starter для моего плагина Spigot, и я не могу заставить его работать должным образом. Я получаю длинную ошибку при запуске плагина: https://hastebin.com/lahawuyuqi.md (org.springframework.beans.factory.BeanCreationException: Ошибка при создании бина с именем 'entityManagerFactory', определенным в ресурсе пути к классу [org / springframework / boot / autoconfigure / orm / jpa / HibernateJpaConfiguration.class]: сбой вызова метода init; вложенное исключение - javax.persistence.PersistenceException: невозможно разрешить единицу сохранения root URL)
Мой основной класс:
public final class Skyblock extends JavaPlugin {
private ConfigurableApplicationContext context;
private static Skyblock instance;
@Override
public void onEnable() {
instance = this;
saveDefaultConfig();
Log.info("Loading...");
//Thread.currentThread().setContextClassLoader(getClass().getClassLoader());
ResourceLoader loader = new DefaultResourceLoader(getClassLoader());
SpringApplication application = new SpringApplication(loader, Application.class);
application.addInitializers(new SpringSpigotInitializer(this));
Properties properties = new Properties();
try {
properties.load(getClassLoader().getResourceAsStream("application.properties"));
} catch (IOException ex) {
ex.printStackTrace();
}
setupDatabase(properties);
application.setDefaultProperties(properties);
context = application.run();
}
private void setupDatabase(Properties properties) {
ConfigurationSection section = getConfig().getConfigurationSection("mysql");
String host = section.getString("hostname", "hostname");
int port = section.getInt("port", 3306);
String database = section.getString("database", "database");
String username = section.getString("username", "username");
String password = section.getString("password", "password");
properties.setProperty("spring.datasource.url", "jdbc:mysql://${MYSQL_HOST:" + host + "}:" + port + "/" + database + "?useUnicode=yes&characterEncoding=UTF-8");
properties.setProperty("spring.datasource.username", username);
properties.setProperty("spring.datasource.password", password);
}
@Override
public void onDisable() {
context.close();
context = null;
}
public static Skyblock getInstance() {
return instance;
}
}
Application.properties:
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.data.jpa.repositories.enabled=false
spring.datasource.platform=mysql
spring.jpa.properties.hibernate.jdbc.time_zone=CET
spring.jpa.hibernate.ddl-auto=update
spring.jpa.database-platform=org.hibernate.dialect.MySQL8Dialect