Обновите проект до Scala 2.13: JavaConversions не является членом коллекции пакетов - PullRequest
1 голос
/ 29 мая 2020

Я хочу обновить Scala версию в многомодульном проекте maven с 2.11 до 2.13. Я изменил всю версию Scala и Scala суффиксную версию в pom. xml, обновил версию зависимости. При компиляции я получил следующую ошибку:

 \target\generated-sources\twirl\txt\template.template.scala:12: object JavaConversions is not a member of package collection

В целевой папке я нашел скомпилированный объект шаблона twirl:

import _root_.play.twirl.api.JavaScript
import _root_.play.twirl.api.Xml
....
import scala.collection.JavaConversions._
import scala.collection.JavaConverters._

object analyze_template extends _root_.play.twirl.api.BaseScalaTemplate[pla

Из шаблона twirl:

@(sourceIncrementName: String, sourceSnapshotName: String)

Может вы подскажите, как это решить?

В maven у меня есть scala -maven-plugin и плагин twirl:

            <plugin>
                <groupId>net.alchim31.maven</groupId>
                <artifactId>scala-maven-plugin</artifactId>
                <version>3.2.0</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>compile</goal>
                            <goal>testCompile</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <jvmArgs>
                        <jvmArg>-Xms128m</jvmArg>
                        <jvmArg>-Xmx1024m</jvmArg>
                        <jvmArg>-XX:MaxPermSize=512m</jvmArg>
                    </jvmArgs>
                    <args>
                        <arg>-unchecked</arg>
                        <arg>-deprecation</arg>
                        <arg>-explaintypes</arg>
                        <arg>-feature</arg>
                        <arg>-language:implicitConversions</arg>
                    </args>
                    <recompileMode>incremental</recompileMode>
                    <scalaVersion>2.13</scalaVersion>
                </configuration>
            </plugin>
       <plugin>
           <groupId>com.jakewharton.twirl</groupId>
           <artifactId>twirl-maven-plugin</artifactId>
           <version>1.1.0</version>
           <executions>
               <execution>
                   <phase>generate-sources</phase>
                   <goals>
                       <goal>compile</goal>
                   </goals>
               </execution>
           </executions>
       </plugin>

И зависимость twirl:

    <dependency>
        <groupId>com.typesafe.play</groupId>
        <artifactId>twirl-api_2.13</artifactId>
    </dependency>

1 Ответ

0 голосов
/ 16 июня 2020

Начиная с Scala 2.13, объект JavaConverters в пакете scala .collection устарел. Впредь вы должны использовать scala .jdk.CollectionConverters . Вы можете найти полную документацию здесь

...