Lagom 1.3.1 [SCALA] を使用しています
pom.xmlで必要な構成を使用して、外部のCassandraおよびkafkaに接続しようとしています。
mvn lagom:runAll でサービスを起動すると、次のエラーが表示されます
ダウンロード: http://.../.../com/lightbend/lagom/lagom-reloadable-server_2.11/1.3.1/lagom-reloadable-server_2.11-1.3.1.pom ダウンロード: http://.../.../com/lightbend/lagom/lagom-reloadable-server_2.11/1.3.1/lagom-reloadable-server_2.11-1.3.1.pom (52.8 で 6 KB) KB/秒) ダウンロード: http://.../.../com/lightbend/lagom/lagom-service-registration_2.11/1.3.1/lagom-service-registration_2.11-1.3.1.pom ダウンロード: http://.../.../com/lightbend/lagom/lagom-service-registration_2.11/1.3.1/lagom-service-registration_2.11-1.3.1.pom (48.1 で 6 KB) KB/秒) ダウンロード: http://.../.../com/lightbend/lagom/lagom-reloadable-server_2.11/1.3.1/lagom-reloadable-server_2.11-1.3.1.jar ダウンロード: http://.../.../com/lightbend/lagom/lagom-service-registration_2.11/1.3.1/lagom-service-registration_2.11-1.3.1.jar ダウンロード: http://.../.../com/lightbend/lagom/lagom-reloadable-server_2.11/1.3.1/lagom-reloadable-server_2.11-1.3.1.jar (288.2 で 30 KB) KB/秒) ダウンロード: http://.../.../com/lightbend/lagom/lagom-service-registration_2.11/1.3.1/lagom-service-registration_2.11-1.3.1.jar (171.7 で 21 KB) KB/秒) play.logger.configurator が見つかりません: ロギングは、アプリケーションによって完全に構成する必要があります。 com.google.inject.CreationException: インジェクタを作成できません。次のエラーを参照してください: 1) com.lightbend.lagom.internal.javadsl.server.ResolvedServices で適切なコンストラクターが見つかりませんでした。クラスには、@Inject アノテーションが付けられた 1 つ (かつ 1 つだけ) のコンストラクター、またはプライベートではない引数なしのコンストラクターのいずれかが必要です。 com.lightbend.lagom.internal.javadsl.server.ResolvedServices.class (JavadslServerBuilder.scala:95) で com.lightbend.lagom.internal.javadsl.server.ResolvedServices の検索中 パラメータ 1 の com.lightbend.lagom.internal.server.ServiceRegistrationModule$RegisterWithServiceRegistry.(ServiceRegistrationModule.scala:54) com.lightbend.lagom.internal.server.ServiceRegistrationModule.bindings(ServiceRegistrationModule.scala:28): Binding(class com.lightbend.lagom.internal.server.ServiceRegistrationModule$RegisterWithServiceRegistry を自己熱心に) (モジュール経由: com.google.inject.util.Modules$OverrideModule -> play.api.inject.guice.GuiceableModuleConversions$$anon$1 ) 2) com.lightbend.lagom.javadsl.api.ServiceInfo で適切なコンストラクターが見つかりませんでした。クラスには、@Inject アノテーションが付けられた 1 つ (かつ 1 つだけ) のコンストラクター、またはプライベートではない引数なしのコンストラクターのいずれかが必要です。 com.lightbend.lagom.javadsl.api.ServiceInfo.class(ServiceInfo.java:51) で com.lightbend.lagom.javadsl.api.ServiceInfo の検索中 com.lightbend.lagom.internal.javadsl.registry.ServiceRegistryClientProvider.serviceInfo(ServiceRegistryModule.scala:62) のフィールド用 com.lightbend.lagom.internal.javadsl.registry.ServiceRegistryModule.configure(ServiceRegistryModule.scala:35) (モジュール経由: com.google.inject.util.Modules$OverrideModule -> com.lightbend.lagom.internal.javadsl. registry.ServiceRegistryModule) 2 エラー com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist (Errors.java:466) で com.google.inject.internal.InternalInjectorCreator.initializeStatically (InternalInjectorCreator.java:155) で com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:107) で
私は自分のコードで Guice モジュールを使用していません。「macwire」を使用して依存関係を配線する scala の方法を利用しています。ただし、lagom の「service-registration」モジュールは、配線に Guice を使用する javadsl に依存しています。
これを修正する方法について何か考えはありますか?
親 pom の Maven 依存関係:
<properties>
<scala.version>2.11.8</scala.version>
<scala.binary.version>2.11</scala.binary.version>
<lagom.version>1.3.1</lagom.version>
<macwire.version>2.2.5</macwire.version>
.....
</properties>
<dependencies>
<dependency>
<groupId>com.lightbend.lagom</groupId>
<artifactId>lagom-scaladsl-server_${scala.binary.version}</artifactId>
<version>${lagom.version}</version>
</dependency>
<dependency>
<groupId>com.typesafe.play</groupId>
<artifactId>play-netty-server_${scala.binary.version}</artifactId>
<version>${play.version}</version>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<version>${scala.version}</version>
</dependency>
<dependency>
<groupId>com.lightbend.lagom</groupId>
<artifactId>lagom-scaladsl-api_${scala.binary.version}</artifactId>
<version>${lagom.version}</version>
</dependency>
<dependency>
<groupId>com.lightbend.lagom</groupId>
<artifactId>lagom-scaladsl-persistence_${scala.binary.version}</artifactId>
<version>${lagom.version}</version>
</dependency>
<dependency>
<groupId>com.lightbend.lagom</groupId>
<artifactId>lagom-logback_${scala.binary.version}</artifactId>
<version>${lagom.version}</version>
</dependency>
<dependency>
<groupId>com.lightbend.lagom</groupId>
<artifactId>lagom-scaladsl-testkit_${scala.binary.version}</artifactId>
<version>${lagom.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.lightbend.lagom</groupId>
<artifactId>lagom-scaladsl-integration-client_${scala.binary.version}</artifactId>
<version>${lagom.version}</version>
</dependency>
<dependency>
<groupId>com.lightbend.lagom</groupId>
<artifactId>lagom-scaladsl-pubsub_${scala.binary.version}</artifactId>
<version>${lagom.version}</version>
</dependency>
<dependency>
<groupId>com.lightbend.lagom</groupId>
<artifactId>lagom-scaladsl-persistence-cassandra_${scala.binary.version}</artifactId>
<version>${lagom.version}</version>
</dependency>
<dependency>
<groupId>com.lightbend.lagom</groupId>
<artifactId>lagom-scaladsl-dev-mode_${scala.binary.version}</artifactId>
<version>${lagom.version}</version>
</dependency>
<dependency>
<groupId>com.softwaremill.macwire</groupId>
<artifactId>macros_${scala.binary.version}</artifactId>
<version>${macwire.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.module</groupId>
<artifactId>jackson-module-scala_${scala.binary.version}</artifactId>
<version>2.8.7</version>
</dependency>
<!-- Test -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.scalatest</groupId>
<artifactId>scalatest_${scala.binary.version}</artifactId>
<version>3.0.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.holdenkarau</groupId>
<artifactId>spark-testing-base_2.10</artifactId>
<version>2.0.0_0.4.4</version>
<scope>test</scope>
</dependency>
</dependencies>
</dependencyManagement>
Maven Lagom プラグイン構成:
<plugin>
<groupId>com.lightbend.lagom</groupId>
<artifactId>lagom-maven-plugin</artifactId>
<version>${lagom.version}</version>
<configuration>
<lagomService>true</lagomService>
<unmanagedServices>
<cas_native>http://ip-address:9042</cas_native>
</unmanagedServices>
<cassandraEnabled>false</cassandraEnabled>
<kafkaAddress>ip-address:9092</kafkaAddress>
<kafkaEnabled>false</kafkaEnabled>
</configuration>
</plugin>