2016-08-03 3 views
1

私はakka docsにあるmaven-shade-pluginを使用しており、次の出力から明らかなように、 Mavenのビルド:を取得していませんjar-with-dependenciesシェーディングされたjarからキー 'akka.version'の設定が見つかりません

[INFO] --- maven-shade-plugin:2.4.2:shade (default) @ remoting.example --- 
[INFO] Including com.typesafe.akka:akka-remote_2.11:jar:2.4.8 in the shaded jar. 
[INFO] Including org.scala-lang:scala-library:jar:2.11.8 in the shaded jar. 
[INFO] Including com.typesafe.akka:akka-protobuf_2.11:jar:2.4.8 in the shaded jar. 
[INFO] Including io.netty:netty:jar:3.10.6.Final in the shaded jar. 
[INFO] Including org.uncommons.maths:uncommons-maths:jar:1.2.2a in the shaded jar. 
[INFO] Including com.typesafe.akka:akka-actor_2.11:jar:2.4.8 in the shaded jar. 
[INFO] Including com.typesafe:config:jar:1.3.0 in the shaded jar. 
[INFO] Including org.scala-lang.modules:scala-java8-compat_2.11:jar:0.7.0 in the shaded jar. 
[INFO] Replacing original artifact with shaded artifact. 
[INFO] Replacing /home/dschulze/src/java/akka/remoting.example/target/remoting.example-0.0.1-SNAPSHOT.jar with /home/dschulze/src/java/akka/remoting.example/target/remoting.example-0.0.1-SNAPSHOT-shaded.jar 
[INFO] Dependency-reduced POM written at: /home/dschulze/src/java/akka/remoting.example/dependency-reduced-pom.xml 

私は実行し、私はまだ私はまた、私は、ウェブ上のさまざまなポストで見つけたことを他のいくつか試してみた

Exception in thread "main" com.typesafe.config.ConfigException$Missing: No configuration setting found for key 'akka.version' 

を得るジャーと依存関係が、どれもそれらのうち、jar-with-dependenciesが作成されます。 akkaを使用するjar-with-dependenciesを作成するにはどうすればよいですか? jar or bundleを使用に関する文書によると

+0

'-Dakka.version'を試しましたか? –

+0

'-Dakka.version'を追加すると、 'akka.actor.provider'というキーの設定が見つかりません。それで、問題を次のプロパティに移動するように見えます。あなたのアプローチはどこに文書化されていますか?このようにコマンドラインでいくつのプロパティをオーバーライドする必要がありますか? –

+0

私の答えを参照してください。私はクラスパス上に最低限の設定を提供するapplication.confを用意する必要があると思います。 –

答えて

0

アッカの設定アプローチは、これらのすべては、構成によって発見され、独自のreference.confファイルを持つすべてのモジュール/ jarファイルの概念に大きく依存し、ロードされる。残念ながら、これは同じジャーに複数のjarファイルを置いたりマージしたりすると、すべてのreference.confsもマージする必要があることを意味します。そうしないと、すべてのデフォルト値が失われ、Akkaは機能しません。

hereを説明するように、カスタムapplication.confを提供することができます:

akka { 

    # Loggers to register at boot time (akka.event.Logging$DefaultLogger logs 
    # to STDOUT) 
    loggers = ["akka.event.slf4j.Slf4jLogger"] 

    # Log level used by the configured loggers (see "loggers") as soon 
    # as they have been started; before that, see "stdout-loglevel" 
    # Options: OFF, ERROR, WARNING, INFO, DEBUG 
    loglevel = "DEBUG" 

    # Log level for the very basic logger activated during ActorSystem startup. 
    # This logger prints the log messages to stdout (System.out). 
    # Options: OFF, ERROR, WARNING, INFO, DEBUG 
    stdout-loglevel = "DEBUG" 

    # Filter of log events that is used by the LoggingAdapter before 
    # publishing log events to the eventStream. 
    logging-filter = "akka.event.slf4j.Slf4jLoggingFilter" 

    actor { 
    provider = "akka.cluster.ClusterActorRefProvider" 

    default-dispatcher { 
     # Throughput for default Dispatcher, set to 1 for as fair as possible 
     throughput = 10 
    } 
    } 

    remote { 
    # The port clients should connect to. Default is 2552. 
    netty.tcp.port = 4711 
    } 
} 

をこれは、とりわけ、文句だ設定akka.actor.providerをカバーしています。

関連する問題