我正在用Firebase开发一个Android应用程序,我决定用Firebase admin SDK创建一个简单的管理应用程序。使用IDE(IntelliJ IDEA)启动并通过Admin SDK连接到数据库工作正常,但在启动导出的.jar文件时,Admin SDK无法连接到数据库。要初始化与Firebase的连接,我使用以下(Kotlin)代码:
//Initialize the Firebase Admin SDK.
val serviceAccount =
this.javaClass.classLoader.getResourceAsStream("fen/ftcConsole/control/flip-the-classroom-app-firebase-adminsdk.json")
val options = FirebaseOptions.Builder()
.setCredential(FirebaseCredentials.fromCertificate(serviceAccount))
.setDatabaseUrl("https://flip-the-classroom-app.firebaseio.com/")
.setStorageBucket("flip-the-classroom-app.appspot.com")
.build()
FirebaseApp.initializeApp(options)
//Get the connections to the database and the cloud storage.
database = FirebaseDatabase.getInstance()
storage = StorageClient.getInstance().bucket()
我添加了一些控制台输出,发现代码只是没有超过这一行:“数据库=FirebasDatabase.get实例()”。它只是挡住了线,什么也没发生。也没有引发异常。正如我所说的,这只发生在导出的jar文件中,当开始使用IDE时,一切工作正常,这使得测试非常困难。
使用IntelliJ和gradle创建. jar文件,将依赖项打包在. jar文件中并将其留在外部,从. jar文件内部或外部使用admin-key加载. json文件,问题总是会发生。
为了使用gradle创建.jar,build.gradle文件包含以下jar块:
jar {
manifest {
attributes 'Main-Class': 'fen.ftcConsole.gui.GUIStarterKt'
}
//adding project files/resources to the jar file
from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
}
“gradle jar”给了我一个. jar文件,所有的依赖和资源都正确地放在文件中。该应用程序还包含一个正确启动的JavaFX GUI。只有Firebase连接不起作用。当我使用应用程序插件而不是“gradle jar”时,也会发生同样的情况。
不推荐的类别:
FirebaseCredentials
...
该类已被弃用。使用谷歌认证。
来自快速入门示例:
public static void main(String[] args) {
// Initialize Firebase
try {
// [START initialize]
FileInputStream serviceAccount = new FileInputStream("service-account.json");
FirebaseOptions options = new FirebaseOptions.Builder()
.setCredentials(GoogleCredentials.fromStream(serviceAccount))
.setDatabaseUrl(DATABASE_URL)
.build();
FirebaseApp.initializeApp(options);
// [END initialize]
} catch (IOException e) {
System.out.println("ERROR: invalid service account credentials. See README.");
System.out.println(e.getMessage());
System.exit(1);
}
// Shared Database reference
database = FirebaseDatabase.getInstance().getReference();
// Start listening to the Database
startListeners();
// Kick off weekly email task
startWeeklyTopPostEmailer();
}
改用GoogleCredentials
。
我试图在我本地minikube集群上的一个简单示例中使用fabric8io/kubernetes-client,在这里我获得了一个pod的IP 是完成执行的pod的名称,如果执行则可见。 是一个kubernetes API主机,我从中获得该主机。 MiniKube只有1个节点。 Fabric8IO/Kubernetes-客户端版本为4.9.1 Java 11 我将此代码作为作业部署在的同一集群上。
我正在尝试从Spring Boot应用程序连接到mySQL数据库。然而,当我试图运行它时,它显示出错误。 我如何解决这个问题? 错误 从我的文件中添加代码片段 pom。xml 应用属性 堆栈跟踪 我还没有在sql中手动创建表,因为我认为spring.jpa.hibernate.ddl-Auto=date应该这样做
我创建了一个副本zookeeper+kafka集群,使用来自官方孵化器repo的官方kafka图表: 如果我进入动物园管理员舱: 我使用工具测试TCP连通性。我预计会出现通信错误,因为服务器没有使用HTTP,但是如果curl连都不能连接,我不得不用ctrl-C输出,那么TCP连接就不能工作了。 我可以通过访问本地pod: 但是通过服务名连接到Kafka pod不起作用,我必须ctrl-C curl
我尝试创建一个TNS_ADMIN环境变量,如本链接中所述-TNSPING OK但是sqlplus给出了ORA-12154?但是当我尝试使用sqlplus连接到
我一直在努力使用数据库URL概述部分提到的以下连接字符串从Spring Boot应用程序连接H2数据库: 我还尝试了许多不同的tcp(服务器模式)连接组合,但仍然出现错误,例如“连接中断:”java。网运行Spring Boot app时,SocketTimeoutException:连接超时:localhost:9092”。 那么,如何解决这个问题并通过服务器模式连接到H2数据库呢?
我按照这里给出的步骤从外部Jenkins实例连接到openshift在线代理。然而,当我提供OpenShift凭据时,即使我似乎拥有正确的凭据,登录也无法通过。消息“无法请求https://openshift.redhat.com/broker/rest/domains:OpenShift Online(下一代)开发者预览版在这里!我们不会接受OpenShift Online(v2)平台上的新用户