Java Firebase连接不工作

Java Firebase连接不工作,java,firebase,firebase-realtime-database,firebase-admin,Java,Firebase,Firebase Realtime Database,Firebase Admin,我一直在尝试将EclipseEE上的动态web项目连接到firebase。我已经上传了所有必需的依赖项(来自maven项目) 下面是我直接从Java上的firebase文档中使用的代码 public class FirebaseUpdater { public static void main(String[] args){ FileInputStream serviceAccount; try { serviceAccount = new

我一直在尝试将EclipseEE上的动态web项目连接到firebase。我已经上传了所有必需的依赖项(来自maven项目)

下面是我直接从Java上的firebase文档中使用的代码

public class FirebaseUpdater {

public static void main(String[] args){
    FileInputStream serviceAccount;
    try {
        serviceAccount = new 
                FileInputStream("C:/Users/Asus/workspace/school-dy2"
                        + "/schoolbackup_service.json");

        FirebaseOptions options = new FirebaseOptions.Builder()
                .setCredentials(GoogleCredentials.fromStream(serviceAccount))
                .setDatabaseUrl("https://schoolbackup-f2429.firebaseio.com/")
                .build();

        FirebaseApp.initializeApp(options);

        // As an admin, the app has access to read and write all data, 
        //regardless of Security Rules
        DatabaseReference ref = FirebaseDatabase.getInstance()
            .getReference();
        DatabaseReference attendance = ref.child("Attendance1");

        attendance.setValueAsync("Debarred");
        System.out.println(attendance.toString());

        attendance.addListenerForSingleValueEvent(new ValueEventListener() {

          public void onDataChange(DataSnapshot dataSnapshot) {
              System.out.println("Datasnapshot Received");
              Object document = dataSnapshot.getValue();
              System.out.println(dataSnapshot.getKey());
          }

          public void onCancelled(DatabaseError error) {
          }
        });

    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}
}
我还使用了获取服务帐户密钥的正确过程(Firebase控制台->用户和权限->服务帐户->生成新私钥)

数据库安全规则也是公共的(这不是一个问题,因为我有服务帐户密钥):

项目编译成功,互联网连接没有问题

我还检查了工作区url。它正确地将我带到浏览器上的数据库

然而,尽管如此,我的项目似乎并没有连接到firebase和更新值

有人能告诉我可能出现什么问题吗?我在这里走到了死胡同

请注意,我使用的是EclipseEE(动态web项目),我直接导入了com.google.firebase(groupID)、firebase admin(artifactID)、6.2.0(version)的maven依赖项

是否我不能将maven依赖项用于动态web项目?服务帐户密钥方法是问题所在吗?是否有任何可能的解决方法

编辑: 我试着打印GoogleCredentials.fromStream(serviceAccount),看看有什么问题。这就是我得到的:

    ServiceAccountCredentials{clientId=109785559732337174527, clientEmail=firebase-adminsdk-0into@schoolbackup-f2429.iam.gserviceaccount.com, privateKeyId=5512743509a43e1371cf88ec3feba4007abe4bf1, transportFactoryClassName=com.google.auth.oauth2.OAuth2Utils$DefaultHttpTransportFactory, tokenServerUri=https://accounts.google.com/o/oauth2/token, scopes=[], serviceAccountUser=null}

serviceAccountUser为空。这可能是个问题吗?如果是,我该如何解决它。

否,正如我所说,项目编译成功。我感到困惑。您显示的代码看起来只是一个独立的java应用程序,而不是j2ee项目或任何类型的web应用程序。让我重新表述一下:您运行它时是否遇到任何错误?+Andre哦,对不起!不,我在运行它时绝对没有错误+Doug是的,它是一个独立的项目。然而,我开始它是一个动态的web项目,因此我提到了它
    ServiceAccountCredentials{clientId=109785559732337174527, clientEmail=firebase-adminsdk-0into@schoolbackup-f2429.iam.gserviceaccount.com, privateKeyId=5512743509a43e1371cf88ec3feba4007abe4bf1, transportFactoryClassName=com.google.auth.oauth2.OAuth2Utils$DefaultHttpTransportFactory, tokenServerUri=https://accounts.google.com/o/oauth2/token, scopes=[], serviceAccountUser=null}