I exactly follow
https://github.com/linagora/james-project/blob/master/server/src/site/xdoc/quick-start-cassandra.xml,
but was stuck at “Step 5: Start”.
When executing
java -Dworking.directory=<b>WORKING_PATH</b> -jar
server/container/cassandra-guice/target/james-server-cassandra-guice-beta5-SNAPSHOT.jar
I got below error
##
Exception in thread "main" com.google.inject.ProvisionException: Unable to
provision, see the following errors:
1) Error in custom provider, java.util.concurrent.ExecutionException:
java.util.NoSuchElementException: 'cassandra.port' doesn't map to an existing
object
at
org.apache.james.modules.mailbox.CassandraSessionModule.provideCluster(CassandraSessionModule.java:76)
(via modules: com.google.inject.util.Modules$CombinedModule ->
com.google.inject.util.Modules$CombinedModule ->
org.apache.james.modules.mailbox.CassandraSessionModule)
at
org.apache.james.modules.mailbox.CassandraSessionModule.provideCluster(CassandraSessionModule.java:76)
(via modules: com.google.inject.util.Modules$CombinedModule ->
com.google.inject.util.Modules$CombinedModule ->
org.apache.james.modules.mailbox.CassandraSessionModule)
while locating com.datastax.driver.core.Cluster
for parameter 1 at
org.apache.james.modules.mailbox.CassandraSessionModule.provideSession(CassandraSessionModule.java:68)
at
org.apache.james.modules.mailbox.CassandraSessionModule.provideSession(CassandraSessionModule.java:68)
(via modules: com.google.inject.util.Modules$CombinedModule ->
com.google.inject.util.Modules$CombinedModule ->
org.apache.james.modules.mailbox.CassandraSessionModule)
at
org.apache.james.modules.mailbox.CassandraSessionModule.provideSession(CassandraSessionModule.java:68)
(via modules: com.google.inject.util.Modules$CombinedModule ->
com.google.inject.util.Modules$CombinedModule ->
org.apache.james.modules.mailbox.CassandraSessionModule)
while locating com.datastax.driver.core.Session
for parameter 0 at
org.apache.james.mailbox.cassandra.mail.CassandraUidProvider.<init>(CassandraUidProvider.java:65)
at
org.apache.james.modules.mailbox.CassandraMailboxModule.configure(CassandraMailboxModule.java:63)
(via modules: com.google.inject.util.Modules$CombinedModule ->
com.google.inject.util.Modules$CombinedModule ->
org.apache.james.modules.mailbox.CassandraMailboxModule)
while locating org.apache.james.mailbox.cassandra.mail.CassandraUidProvider
while locating org.apache.james.mailbox.store.mail.UidProvider
for parameter 0 at
org.apache.james.mailbox.cassandra.CassandraMailboxSessionMapperFactory.<init>(CassandraMailboxSessionMapperFactory.java:56)
at
org.apache.james.modules.mailbox.CassandraMailboxModule.configure(CassandraMailboxModule.java:58)
(via modules: com.google.inject.util.Modules$CombinedModule ->
com.google.inject.util.Modules$CombinedModule ->
org.apache.james.modules.mailbox.CassandraMailboxModule)
while locating
org.apache.james.mailbox.cassandra.CassandraMailboxSessionMapperFactory
for parameter 0 at
org.apache.james.mailbox.cassandra.CassandraMailboxManager.<init>(CassandraMailboxManager.java:50)
at
org.apache.james.modules.mailbox.CassandraMailboxModule.configure(CassandraMailboxModule.java:59)
(via modules: com.google.inject.util.Modules$CombinedModule ->
com.google.inject.util.Modules$CombinedModule ->
org.apache.james.modules.mailbox.CassandraMailboxModule)
while locating org.apache.james.mailbox.cassandra.CassandraMailboxManager
while locating org.apache.james.mailbox.MailboxManager
for parameter 0 at
org.apache.james.jmap.JMAPModule$RequiredCapabilitiesPrecondition.<init>(JMAPModule.java:101)
at
org.apache.james.jmap.JMAPModule$RequiredCapabilitiesPrecondition.class(JMAPModule.java:101)
while locating
org.apache.james.jmap.JMAPModule$RequiredCapabilitiesPrecondition
while locating org.apache.james.utils.ConfigurationPerformer annotated with
@com.google.inject.multibindings.Element(setName=,uniqueId=16,
type=MULTIBINDER, keyType=)
at
org.apache.james.modules.server.DNSServiceModule.configure(DNSServiceModule.java:47)
(via modules: com.google.inject.util.Modules$CombinedModule ->
com.google.inject.util.Modules$CombinedModule ->
org.apache.james.modules.CommonServicesModule ->
org.apache.james.modules.server.DNSServiceModule ->
com.google.inject.multibindings.Multibinder$RealMultibinder)
while locating java.util.Set<org.apache.james.utils.ConfigurationPerformer>
for parameter 0 at
org.apache.james.utils.ConfigurationsPerformer.<init>(ConfigurationsPerformer.java:36)
while locating org.apache.james.utils.ConfigurationsPerformer
Caused by: java.util.concurrent.ExecutionException:
java.util.NoSuchElementException: 'cassandra.port' doesn't map to an existing
object
at
java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:357)
at
java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1895)
at
org.apache.james.modules.mailbox.CassandraSessionModule.provideCluster(CassandraSessionModule.java:87)
at
org.apache.james.modules.mailbox.CassandraSessionModule$$FastClassByGuice$$c011b41b.invoke(<generated>)
at
com.google.inject.internal.ProviderMethod$FastClassProviderMethod.doProvision(ProviderMethod.java:272)
at
com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:172)
##
Any clue?