diff --git a/pom.xml b/pom.xml
index 4966496b..2d73d759 100644
--- a/pom.xml
+++ b/pom.xml
@@ -279,10 +279,6 @@
-
- org.h2
- fr.xephi.authme.libs.org.h2
-
org.apache.http
fr.xephi.authme.libs.org.apache.http
@@ -341,10 +337,6 @@
com.google.gson
fr.xephi.authme.libs.com.google.gson
-
- org.h2
- fr.xephi.authme.libs.org.h2
-
org.apache.http
fr.xephi.authme.libs.org.apache.http
@@ -467,6 +459,10 @@
org.apache.commons.validator
fr.xephi.authme.libs.org.apache.commons.validator
+
+ com.alessiodp.libby
+ fr.xephi.authme.libs.com.alessiodp.libby
+
@@ -727,6 +723,14 @@
provided
+
+
+ com.alessiodp.libby
+ libby-bukkit
+ 2.0.0-SNAPSHOT
+ compile
+
+
com.zaxxer
@@ -1149,7 +1153,7 @@
com.h2database
h2
2.2.224
- compile
+ provided
diff --git a/src/main/java/fr/xephi/authme/AuthMe.java b/src/main/java/fr/xephi/authme/AuthMe.java
index 7921116c..74da5c30 100644
--- a/src/main/java/fr/xephi/authme/AuthMe.java
+++ b/src/main/java/fr/xephi/authme/AuthMe.java
@@ -2,6 +2,7 @@ package fr.xephi.authme;
import ch.jalu.injector.Injector;
import ch.jalu.injector.InjectorBuilder;
+import com.alessiodp.libby.BukkitLibraryManager;
import com.github.Anon8281.universalScheduler.UniversalScheduler;
import com.github.Anon8281.universalScheduler.scheduling.schedulers.TaskScheduler;
import fr.xephi.authme.api.v3.AuthMeApi;
@@ -143,6 +144,11 @@ public class AuthMe extends JavaPlugin {
return scheduler;
}
+ /**
+ * The library manager
+ */
+ public static BukkitLibraryManager libraryManager;
+
/**
* Method called when the server enables the plugin.
*/
@@ -151,6 +157,7 @@ public class AuthMe extends JavaPlugin {
// Load the plugin version data from the plugin description file
loadPluginInfo(getDescription().getVersion());
scheduler = UniversalScheduler.getScheduler(this);
+ libraryManager = new BukkitLibraryManager(this);
// Set the Logger instance and log file path
ConsoleLogger.initialize(getLogger(), new File(getDataFolder(), LOG_FILENAME));
diff --git a/src/main/java/fr/xephi/authme/initialization/DataSourceProvider.java b/src/main/java/fr/xephi/authme/initialization/DataSourceProvider.java
index 07211ef2..41e48f3f 100644
--- a/src/main/java/fr/xephi/authme/initialization/DataSourceProvider.java
+++ b/src/main/java/fr/xephi/authme/initialization/DataSourceProvider.java
@@ -1,5 +1,6 @@
package fr.xephi.authme.initialization;
+import com.alessiodp.libby.Library;
import fr.xephi.authme.ConsoleLogger;
import fr.xephi.authme.data.auth.PlayerCache;
import fr.xephi.authme.datasource.CacheDataSource;
@@ -21,6 +22,8 @@ import javax.inject.Provider;
import java.io.File;
import java.sql.SQLException;
+import static fr.xephi.authme.AuthMe.libraryManager;
+
/**
* Creates the AuthMe data source.
*/
@@ -78,8 +81,14 @@ public class DataSourceProvider implements Provider {
dataSource = new SQLite(settings, dataFolder);
break;
case H2:
+ Library h2 = Library.builder()
+ .groupId("com.h2database")
+ .artifactId("h2")
+ .version("2.2.224")
+ .build();
+ libraryManager.addMavenCentral();
+ libraryManager.loadLibrary(h2);
dataSource = new H2(settings, dataFolder);
- logger.warning("You are using H2 database, which is still in development!\nMake sure to backup and report any issues you encounter on GitHub!");
break;
default:
throw new UnsupportedOperationException("Unknown data source type '" + dataSourceType + "'");