Интеграция Java и Scala в один проект - PullRequest
0 голосов
/ 26 июня 2018

Я очень хорошо знаком с Java и ее Spring Framework. Таким образом, мы используем весенний загрузочный проект, в котором мы реализовали различные сервисы с использованием java, теперь мы хотим добавить в него несколько сервисов scala (для реализации spark).

Так, чтобы я мог легко обрабатывать запросы от контроллера (который представлен пользовательским интерфейсом).

Может ли кто-нибудь предложить несколько различных методов или рекомендаций, которым я могу следовать при создании проекта и создании службы

Было бы очень полезно, если бы вы могли объяснить некоторые примеры или варианты использования.

1 Ответ

0 голосов
/ 27 июня 2018

Метод, который я часто использую для смешивания Java и Scala, основан на Maven. Поместите плагин компилятора Scala над плагином компилятора Maven в вашем pom.xml:

    <sourceDirectory>src/main/java</sourceDirectory>
    <!--<testSourceDirectory>src/test/scala</testSourceDirectory>-->
    <pluginManagement>
        <plugins>
            <plugin>
                <groupId>net.alchim31.maven</groupId>
                <artifactId>scala-maven-plugin</artifactId>
                <version>3.4.1</version>
            </plugin>
        </plugins>
    </pluginManagement>
    <plugins>
        <plugin>
            <groupId>net.alchim31.maven</groupId>
            <artifactId>scala-maven-plugin</artifactId>
            <configuration>
                <recompileMode>incremental</recompileMode>
            </configuration>
            <executions>
                <execution>
                    <id>scala-compile-first</id>
                    <phase>process-resources</phase>
                    <goals>
                        <goal>add-source</goal>
                        <goal>compile</goal>
                    </goals>
                    <configuration>
                        <args>
                            <arg>-Ydelambdafy:method</arg>
                            <arg>-target:jvm-1.8</arg>
                            <arg>-deprecation</arg>
                            <arg>-feature</arg>
                            <arg>-unchecked</arg>
                            <arg>-language:implicitConversions</arg>
                            <arg>-language:postfixOps</arg>
                        </args>
                    </configuration>
                </execution>
                <execution>
                    <id>scala-test-compile</id>
                    <phase>process-test-resources</phase>
                    <goals>
                        <goal>testCompile</goal>
                    </goals>
                    <configuration>
                        <args>
                            <arg>-Ydelambdafy:method</arg>
                            <arg>-target:jvm-1.8</arg>
                            <arg>-deprecation</arg>
                            <arg>-feature</arg>
                            <arg>-unchecked</arg>
                            <arg>-language:implicitConversions</arg>
                            <arg>-language:postfixOps</arg>
                        </args>
                    </configuration>
                </execution>
            </executions>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.7.0</version>
            <configuration>
                <compilerId>javac</compilerId>
                <debug>true</debug>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>

Я создал пример проекта на Github .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...