首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Scala不使用-Dconfig.file选项加载配置文件

Scala不使用-Dconfig.file选项加载配置文件
EN

Stack Overflow用户
提问于 2017-06-01 08:27:26
回答 1查看 618关注 0票数 0

我使用scala、akka、maven和Intellij创建了简单的应用程序,并创建了我的应用程序的胖jar,我尝试使用以下命令运行jar

java -Dconfig.file=/home/pqr-xvcx-xcvxv-sdf/application.conf -jar bac-pqr.jar -Dconfig.trace=loads

在通过命令提示符运行jar时,我遇到以下错误:

代码语言:javascript
复制
Exception in thread "main" com.typesafe.config.ConfigException$Missing: No configuration setting found for key 'bac-pqr'
        at com.typesafe.config.impl.SimpleConfig.findKeyOrNull(SimpleConfig.java:152)
        at com.typesafe.config.impl.SimpleConfig.findKey(SimpleConfig.java:145)
        at com.typesafe.config.impl.SimpleConfig.findOrNull(SimpleConfig.java:172)
        at com.typesafe.config.impl.SimpleConfig.find(SimpleConfig.java:184)
        at com.typesafe.config.impl.SimpleConfig.find(SimpleConfig.java:189)
        at com.typesafe.config.impl.SimpleConfig.getString(SimpleConfig.java:246)
        at .config.Settings$.Name$lzycompute(Settings.scala:37)
        at .config.Settings$.ClusterName(Settings.scala:37)
        at Main$.main(Main.scala:76)
        at .Main.main(Main.scala)

即使在提供了配置文件之后,我也不知道为什么它会抛出这样的exception.Please,在我完整的application.conf文件下面找到:

代码语言:javascript
复制
bac-pqr {
  kafka {
    bac-pqr-topic = [${?bac-pqr_TOPIC}, "Test"]
    failover-dlq-topic = [${?FAILOVER_DLQ_TOPIC}, "Test.dlq"]
    workflow-topic = [${?WORKFLOW_TOPIC}, "Test.workflow"]
    producer {
      hostname = [${?KAFKA_HOST}, "localhost"]
      port = [${?KAFKA_PORT}, 9092]
    }
    consumer {
      hostname = [${?HOST}, "localhost"]
      port = [${?PORT}, 9092]
      groupid = [${?GROUP_ID}, "test-consumer"]
      auto-offset-reset = "earliest"
    }
    offset {
      group-batch = 10
      group-time = 5
      parallelism-factor = 3
    }
  }
  akka {
    actor {
      cluster-name = "ABCSystem"
      timeout = [${?AKKA_ACTOR_TIMEOUT}, 10]
      supervisor-strategy {
        max-number-of-retries = 10
        within-time-range = 30
      }
    }
  }
  elastic-search {
    hostname = [${?SEARCH_HOSTNAME}, "localhost"]
    port = [${?SEARCH_PORT}, 9300]
    index = [${?SEARCH_INDEX}, "test_index"]
    type = [${?SEARCH_DOC_TYPE}, "portfolio"]
  }
  shutdown-hook-time = 30
}

akka {
  actor {
    provider = "akka.cluster.ClusterActorRefProvider"
    deployment {
      /ABCActor {
        router = round-robin-pool
        nr-of-instances = 20
      }
    }
  }
  kafka {
    consumer {
      poll-interval = 50ms
      poll-timeout = 50ms
      stop-timeout = 30s
      close-timeout = 20s
      commit-timeout = 15s
      wakeup-timeout = 10s
      use-dispatcher = "akka.kafka.default-dispatcher"
      kafka-clients {
        enable.auto.commit = true //Fix me
      }
    }
  }
  remote {
    log-remote-lifecycle-events = off
    netty.tcp {
      hostname = "127.0.0.1"
      port = 2551
    }
  }
  cluster {
    seed-host = "127.0.0.1"
    seed-host = ${?SEED_HOST}
    seed-port = "2551"
    seed-port = ${?AKKA_CLUSTER_SEED_PORT}
    seed-nodes = [
      "akka.tcp://"${bac-pqr.akka.actor.cluster-name}"@"${akka.cluster.seed-host}":"${akka.cluster.seed-port}
    ]
    min-nr-of-members = 1
    auto-down-unreachable-after = 10s //Look out before finish
  }
}
akka.cluster.metrics.enabled=off
akka.extensions=["akka.cluster.metrics.ClusterMetricsExtension"]
circuit-breaker {
  maxFailures = [${?CBREAKER_MAX_FAILURES}, 10]
  callTimeout = [${?CBREAKER_MAX_FAILURES}, 10000]
  resetTimeout = [${?CBREAKER_MAX_FAILURES}, 30000]
}``

我的胖罐子里没有任何文件。我想将conf文件提供给外部jar。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-01 08:38:28

改变你们论点的顺序。-jar file.jar后的参数是用于程序的主要方法,而不是jvm。

代码语言:javascript
复制
 java -Dconfig.file=/home/hdp66-ss-mods-uk/AEM-Sprint0/ResourceBundle.old/lib/application.conf -Dconfig.trace=loads -jar exception-management.jar 
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44302312

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档