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?


Reply via email to