Я хочу экспортировать свой проект firebase в jar, и когда я пытаюсь использовать jar, он не работает.
Мой build.gradle:
apply plugin: "java"
buildscript {
ext.bukkit_version = "1.8.3-R0.1-SNAPSHOT"
}
repositories {
mavenCentral()
maven {
url "https://hub.spigotmc.org/nexus/content/repositories/snapshots/"
}
}
version = "0.1"
sourceCompatibility = "1.8"
targetCompatibility = "1.8"
configurations {
shade
compile.extendsFrom shade
}
dependencies {
compile "org.bukkit:bukkit:$bukkit_version"
shade 'com.google.firebase:firebase-admin:6.12.2'
}
jar {
configurations.shade.each { dep ->
from(project.zipTree(dep)) {
exclude 'META-INF', 'META-INF/**'
}
}
}
Я использую это код для проверки в чем проблема:
public static void main(String[] args) throws IOException, InterruptedException {
System.out.println(1);
FirebaseOptions options = new FirebaseOptions.Builder()
.setCredentials(GoogleCredentials.fromStream(new FileInputStream(new File("../yourpixel/YourPixel/key.json"))))
.setDatabaseUrl("https://yourpixel-22c2a.firebaseio.com/")
.build();
System.out.println(2);
FirebaseApp.initializeApp(options);
System.out.println(3);
CountDownLatch latch = new CountDownLatch(1);
FirebaseDatabase.getInstance().getReference("TEST").setValue("2", (databaseError, databaseReference) -> {
System.out.println("Error:" + (databaseError == null ? "null" : databaseError.getMessage()));
System.out.println("Reference:" + (databaseReference == null ? "null" : databaseReference.getPath()));
latch.countDown();
});
System.out.println(4);
latch.await();
System.out.println(5);
}
Когда я запускаю это внутри своего проекта, он работает, и вывод:
1
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
2
3
4
Error:null
Reference:/TEST
Когда я экспортирую свой проект в jar и использую это запустить тот же основной, он не работает. Вывод:
1
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
2
3
4
И программа застряла.