Gerrit LDAP设置和获取InitInjector失败错误

时间:2018-07-03 07:35:24

标签: ldap gerrit init

我正在尝试在gerrit中配置LDAP身份验证设置,并从secure.config文件中加密/解密LDAP密码,我使用了secure-config插件。然后将该插件放在$ gerrit / path / lib下,并在gerrit.config文件中添加了行

[gerrit]

secureStoreClass = com.googlesource.gerrit.plugins.secureconfig.SecureConfigStore

遵循https://gerrit.googlesource.com/plugins/secure-config/

的说明

然后我像下面那样进行初始化并得到以下错误

java -jar gerrit-war-2.13.7.war init -d Gerrit/

fatal: InitInjector failed

fatal: Unable to create injector, see the following errors

fatal: 1) Error injecting constructor, java.lang.NullPointerException

fatal:   at com.googlesource.gerrit.plugins.secureconfig.PBECodec.<init>(PBECodec.java:47)

fatal:   at com.googlesource.gerrit.plugins.secureconfig.PBECodec.class(PBECodec.java:39) 

fatal:   while locating com.googlesource.gerrit.plugins.secureconfig.PBECodec 

fatal:     for the 2nd parameter of com.googlesource.gerrit.plugins.secureconfig.SecureConfigStore.<init>(SecureConfigStore.java:46) 

fatal:at com.googlesource.gerrit.plugins.secureconfig.SecureConfigStore.class(SecureConfigStore.java:46) 

fatal:while locating com.googlesource.gerrit.plugins.secureconfig.SecureConfigStore fatal:   while locating com.google.gerrit.server.securestore.SecureStoreProvider 

fatal:   at com.google.gerrit.pgm.init.BaseInit$1.configure(BaseInit.java:274) 

fatal:   while locating com.google.gerrit.server.securestore.SecureStore 

fatal:     for the 2nd parameter of com.google.gerrit.server.config.GerritServerConfigProvider.<init>(GerritServerConfigProvider.java:40) 

fatal:   while locating com.google.gerrit.server.config.GerritServerConfigProvider 

fatal:   at com.google.gerrit.server.config.GerritServerConfigModule.configure(GerritServerConfigModule.java:78) fatal:   while locating org.eclipse.jgit.lib.Config annotated with @com.google.gerrit.server.config.GerritServerConfig() 

fatal:     for the 1st parameter of com.google.gerrit.server.config.TrackingFootersProvider.<init>(TrackingFootersProvider.java:46) 

fatal:   at com.google.gerrit.server.config.TrackingFootersProvider.class(TrackingFootersProvider.java:35) 

fatal:   while locating com.google.gerrit.server.config.TrackingFootersProvider 

fatal:   at com.google.gerrit.server.config.GerritServerConfigModule.configure(GerritServerConfigModule.java:77) 

fatal:   while locating com.google.gerrit.server.config.TrackingFooters fatal: Caused by: java.lang.NullPointerException

1 个答案:

答案 0 :(得分:0)

您正在按照master分支的说明进行操作,但您正在使用Gerrit 2.13.7。您是从master分支还是从稳定版2.13安装了secure-config插件?我在“如何运行”部分中看到了master和stable-2.13指令之间的区别:

大师

需要使用Gerrit初始化向导来生成和管理Gerrit secure.config属性。在初始化时输入的所有密码都将存储为加密值,然后在运行时需要时即时解密。

稳定的2.13

此插件将解码secure.config中的值,如果现有的secure.config包含未加密的值,则它将失败。如果当前secure.config中的值未加密,则需要清除secure.config或通过在运行此插件之前将其移动到另一个文件来对其进行备份。

请参阅稳定的2.13说明here