1

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>
4

1 に答える 1