Tag: 罐子

Firebase Admin SDK无法从jar文件内部连接到数据库

我正在开发一个带有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() 我添加了一些控制台输出,发现代码只是不会超过这一行:“database = FirebaseDatabase.getInstance()”。 它只是阻止线程,没有任何反应。 也没有例外抛出。 正如我所说,这只发生在导出的jar文件,当开始与IDE,一切工作正常,这使得测试非常困难。 使用IntelliJ和gradle创建.jar文件,打包.jar文件中的依赖关系,并将其保留在外部,从.jar文件或外部使用admin-key加载.json文件,问题总是发生。 为了用gradle创建.jar,build.gradle文件包含下面的jar-block: jar { manifest { attributes […]

什么是.kotlin_builtins文件,我可以从我的uberjars中忽略它们?

我正在将proguard集成到我的Gradle构建中,用于在Kotlin中编写的应用程序。 我发现proguard正在剥离Kotlin标准库(就像它应该在我简单的Hello World程序中那样),但是在我的jar文件中留下了一堆扩展名为.kotlin_builtins的文件。 当我配置我的gradle任务来排除这些文件时,该程序仍然显示正常工作。 这些文件是什么,他们必须随我的可执行uberjar? 这里是我的build.gradle文件的内容供参考: buildscript { ext.kotlin_version = '1.0.5' ext.shadow_version = '1.2.4' repositories { mavenCentral() maven { url "https://plugins.gradle.org/m2/" } flatDir dirs: "gradle/proguard" } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath "com.github.jengelman.gradle.plugins:shadow:$shadow_version" classpath ":proguard:" } } apply plugin: 'kotlin' apply plugin: 'application' apply plugin: 'com.github.johnrengelman.shadow' mainClassName = 'namespace.MainKt' defaultTasks 'run' repositories { mavenCentral() } dependencies […]

Kotlin + Maven组装:没有主要的清单属性

我有问题使用Maven将Kotlin项目与一些依赖关系组合到JAR文件中。 我如何将项目组装到JAR中: RightPanel -> MavenProjects -> Lifecycle -> package -> run 当我运行JAR文件时: java -jar path.jar 我得到以下错误: no main manifest attribute, in path.jar 我已经添加了像这样的maven-assembly-plugin : 所以我的插件目录看起来像这样: <build> <sourceDirectory>src/main/kotlin</sourceDirectory> <testSourceDirectory>src/test/kotlin</testSourceDirectory> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>2.6</version> <executions> <execution> <id>make-assembly</id> <phase>package</phase> <goals> <goal>single</goal> </goals> <configuration> <archive> <manifest> <mainClass>${main.class}</mainClass> </manifest> </archive> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.jetbrains.kotlin</groupId> […]