我正在尝试使用 Google Cloud Directory Sync 和 Active Directory 进行一些测试,但无论我做什么,我总是会得到空指针异常。据我所知,GCDS 是一个 Java 应用程序。GCDS 安装程序在子文件夹中安装了一个版本的 Java 运行时环境,所以不应该是安装了错误版本的 Java 之类的问题?
当我尝试打开一个配置文件时:
我的所有检查均正常:
但是当我尝试模拟同步时,也会收到空指针异常:
[2022-03-23 15:31:09,941+0100] [AWT-EventQueue-0] [INFO] [general.syncdialog.SyncDialog] Starting simulation
[2022-03-23 15:31:09,941+0100] [SwingWorker-pool-2-thread-8] [ERROR] [sync.agent.FullSyncAgent] Caught Throwable during full synchronization. This exception caused the sync to fail. For full context, search the logs to see where it happened first. Details: null
java.lang.NullPointerException
at com.google.usersyncapp.plugin.ldap.schemasConfig.CustomSchemasConfigXmlMapper.getSchemasDefinitions(CustomSchemasConfigXmlMapper.java:233)
at com.google.usersyncapp.plugin.ldap.schemasConfig.CustomSchemasConfigXmlMapper.toCustomSchemasConfig(CustomSchemasConfigXmlMapper.java:224)
at com.google.usersyncapp.plugin.ldap.config.loaders.SourceLdapConfigLoader.loadCustomSchemas(SourceLdapConfigLoader.java:1893)
at com.google.usersyncapp.plugin.ldap.config.loaders.SourceLdapConfigLoader.doCollections(SourceLdapConfigLoader.java:130)
at com.google.usersyncapp.plugin.ldap.config.loaders.LdapConfigLoader.loadFromElement(LdapConfigLoader.java:615)
at com.google.usersyncapp.plugin.ldap.config.loaders.LdapConfigLoader.load(LdapConfigLoader.java:112)
at com.google.usersyncapp.plugin.ldap.LDAPPlugin.setConfiguration(LDAPPlugin.java:339)
at com.google.usersyncapp.sync.PluginFactory.initializePlugin(PluginFactory.java:103)
at com.google.usersyncapp.sync.PluginFactory.initializeFromPluginConfigList(PluginFactory.java:130)
at com.google.usersyncapp.sync.PluginFactory.initializePluginsIntoGroup(PluginFactory.java:159)
at com.google.usersyncapp.sync.agent.FullSyncAgent.loadPlugins(FullSyncAgent.java:457)
at com.google.usersyncapp.sync.agent.FullSyncAgent.initializeRun(FullSyncAgent.java:360)
at com.google.usersyncapp.sync.agent.FullSyncAgent.call(FullSyncAgent.java:130)
at com.google.usersyncapp.ui.page.general.AbstractSimulateSyncWorker.doInBackground(AbstractSimulateSyncWorker.java:85)
at com.google.usersyncapp.ui.page.general.AbstractSimulateSyncWorker.doInBackground(AbstractSimulateSyncWorker.java:28)
at javax.swing.SwingWorker$1.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at javax.swing.SwingWorker.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
我显然在这里遗漏了一些东西,但我不知道是什么...Active Directory 是 Windows 2016,并且没有比我上面复制的已经找到的日志文件更多的日志文件。
答案1
这似乎是版本问题。我使用的是 4.7.14 版本(2022 年 2 月 8 日),也遇到了这些问题,但在安装 4.7.2 版本时(可从此处下载:https://drive.google.com/drive/folders/1pq08SS1wiGllVAUMpKaqfFRQLSkFJfhc)我不再有这些问题了……