我正在尝试使用 javafx 构建一个桌面应用程序,用于从 pdf 中提取数据并将内容保存为 firebase 中的 json。在 gradle 上添加 firebase admin sdk 依赖会导致构建错误。但它正在使用 Maven 项目。
我已经使用本指南创建了 gradle 项目 - https://openjfx.io/openjfx-docs/#IDE-Intellij对于firebase admin sdk,我遵循了官方文档。但它不断创建ResolutionException并提到一些模块。为这些模块添加依赖项或jar会导致更多模块异常。我试图避免使用 maven,因为它会导致与 javafx 发生一些我也无法解决的冲突。
这是我当前的 build.gradle 文件:
plugins {
id 'application'
id 'org.openjfx.javafxplugin' version '0.0.5'
}
group 'com.tiptoptips'
version '1.0-SNAPSHOT'
sourceCompatibility = 1.8
repositories {
mavenCentral()
maven { url 'https://jitpack.io' }
}
dependencies {
implementation 'com.google.firebase:firebase-admin:6.7.0'
}
javafx {
modules = [ 'javafx.controls', 'javafx.fxml' ]
}
mainClassName = 'com.tiptoptips.MainApp'
这是我在运行或构建这个项目时遇到的错误-
> Task :run FAILED
Error occurred during initialization of boot layer
java.lang.module.ResolutionException: Modules proto.google.common.protos
and gax.grpc export package com.google.longrunning to module
javafx.graphicsEmpty
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':run'.
> Process 'command '/usr/lib/jvm/java-11-openjdk-amd64/bin/java'' finished with non-zero exit value 1
有什么我做错了吗?
最佳答案
经过大约4天的研究,我找到了解决它的方法。我必须手动下载 javafx-11 库并使用 vm 选项将其添加到项目中。我不得不手动添加 javafx.controls 和 javafx.fxml。然后将firebase admin sdk重新添加到gradle中工作正常。我仍然不明白为什么 intellij 显示 firebase is missing module 而不是查找 javafx 文件。完整的详细信息可以在这里找到- https://openjfx.io/openjfx-docs/#install-javafx
关于gradle - Firebase admin sdk 对 gradle 的依赖导致启动层错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54180550/