0

我正在与:

ejbca_ce_6.3.1.1
wildfly10
java jdk8 update 121
MariaDb 10.1.21
ant 1.10

我按照此页面上的说明进行操作https://www.ejbca.org/docs/installation.html

我无法通过这些步骤: ant runinstall 它会引发以下错误:

ejbca:install:

ejbca:initCA:
     [echo] Initializing CA with 'ManagementCA' 'CN=ManagementCA,O=EJBCA Sample,C=SE' 'soft' <ca.tokenpassword hidden> '2048' 'RSA' '3650' 'null' 'SHA256WithRSA'
  -superadmincn 'SuperAdmin'...
     [java] Exception in thread "main" java.util.ServiceConfigurationError: org.ejbca.ui.cli.infrastructure.command.CliCommandPlugin: Provider org.ejbca.ui.cli.ke
ybind.InternalKeyBindingCreateCommand could not be instantiated
     [java]     at java.util.ServiceLoader.fail(ServiceLoader.java:232)
     [java]     at java.util.ServiceLoader.access$100(ServiceLoader.java:185)
     [java]     at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:384)
     [java]     at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
     [java]     at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
     [java]     at org.ejbca.ui.cli.infrastructure.library.CommandLibrary.<init>(CommandLibrary.java:53)
     [java]     at org.ejbca.ui.cli.infrastructure.library.CommandLibrary.<clinit>(CommandLibrary.java:38)
     [java]     at org.ejbca.ui.cli.EjbcaEjbCli.main(EjbcaEjbCli.java:29)
     [java] Caused by: java.lang.IllegalStateException: EJBCLIENT000025: No EJB receiver available for handling [appName:ejbca, moduleName:cesecore-ejb, distinctN
ame:] combination for invocation context org.jboss.ejb.client.EJBClientInvocationContext@1dde4cb2
     [java]     at org.jboss.ejb.client.EJBClientContext.requireEJBReceiver(EJBClientContext.java:798)
     [java]     at org.jboss.ejb.client.ReceiverInterceptor.handleInvocation(ReceiverInterceptor.java:128)
     [java]     at org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:186)
     [java]     at org.jboss.ejb.client.EJBInvocationHandler.sendRequestWithPossibleRetries(EJBInvocationHandler.java:255)
     [java]     at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:200)
     [java]     at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:183)
     [java]     at org.jboss.ejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:146)
     [java]     at com.sun.proxy.$Proxy0.getAvailableTypesAndProperties(Unknown Source)
     [java]     at org.ejbca.ui.cli.keybind.InternalKeyBindingCreateCommand.<init>(InternalKeyBindingCreateCommand.java:69)
     [java]     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
     [java]     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
     [java]     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
     [java]     at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
     [java]     at java.lang.Class.newInstance(Class.java:442)
     [java]     at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:380)
     [java]     ... 5 more

BUILD FAILED
C:\ejbca2\build.xml:70: The following error occurred while executing this line:
C:\ejbca2\bin\cli.xml:94: The following error occurred while executing this line:
C:\ejbca2\bin\cli.xml:112: The following error occurred while executing this line:
C:\ejbca2\bin\cli.xml:186: Java returned: 1

Total time: 17 seconds

cli.xml 的详细信息:112

<ejbca:cli-hideargs arg="ca init &quot;${ca.name}&quot; &quot;${ca.dn}&quot; ${ca.tokentype} ${ca.tokenpassword} ${ca.keyspec} ${ca.keytype} ${ca.validity} ${ca.policy} ${ca.signaturealgorithm} ${install.catoken.command} ${install.certprofile.command} -superadmincn &quot;${superadmin.cn}&quot;"/>

“ant clean deployear”之前的步骤显示构建已成功。

我在网上搜索没有任何成功,请帮助

4

1 回答 1

4

我得到了相同的堆栈跟踪,原因是 EJBCA (6.5.0.4) 在“ant clean deployear”结束时没有部署到 WildFly(尽管它显示成功)。因此,在运行 deployear 时检查 server.log。对我来说,部署失败是因为默认数据库不是 mysql 而是 H2,它尝试执行对 H2 有效但对 MariaDB 无效的 SQL 语句(在 MariaDB 上,错误是:信息架构中的未知表“序列”)。我必须在 conf/database.properties 中定义 database.name=mysql 并再次运行“ant clean deployear”,它解决了问题。由于您使用的是 MariaDB,因此您很有可能遇到完全相同的错误。

于 2017-03-24T13:43:52.630 回答