首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >将play框架项目更新到Java 11,无法找到正确的依赖版本

将play框架项目更新到Java 11,无法找到正确的依赖版本
EN

Stack Overflow用户
提问于 2020-02-06 07:49:35
回答 1查看 1.2K关注 0票数 1

将现有的maven项目从Java 8更新到11,我很难找到依赖和插件版本的正确组合。其中一个模块使用play框架及其相关的依赖项,下面是它们的设置:

代码语言:javascript
运行
AI代码解释
复制
java: 11.0.5                    
scala: 2.12.8                   
sbt: 0.13.17                            
sbt-compiler-maven-plugin: 1.0.0        
sbtrun-maven-plugin: 1.0.1          
play: 2.6.21                    
play2-maven-plugin: 1.0.0-rc5
play2-provider-play26: 1.0.0-rc5        
akka: 2.5.27

这给了我以下构建错误:

代码语言:javascript
运行
AI代码解释
复制
[ERROR] Failed to execute goal com.google.code.play2-maven-plugin:play2-maven-plugin:1.0.0-rc5:enhance (default-play2-enhance) on project services: Execution default-play2-enhance of goal com.google.code.play2-maven-plugin:play2-maven-plugin:1.0.0-rc5:enhance failed: An API incompatibility was encountered while executing com.google.code.play2-maven-plugin:play2-maven-plugin:1.0.0-rc5:enhance: java.lang.NoSuchMethodError: 'scala.collection.mutable.ArrayOps scala.Predef$.byteArrayOps(byte[])'
[ERROR] -----------------------------------------------------
[ERROR] realm =    extension>com.google.code.play2-maven-plugin:play2-maven-plugin:1.0.0-rc5
[ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
...
...
...
[ERROR] Number of foreign imports: 1
[ERROR] import: Entry[import  from realm ClassRealm[maven.api, parent: null]]

注意:我希望保持akka的版本2.5.x,因为2.6.x需要大量的代码更改,但如果有必要,将转到更高的版本

代码语言:javascript
运行
AI代码解释
复制
<?xml version="1.0"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>groupId</groupId>
        <artifactId>artifactId</artifactId>
        <version>version</version>
    </parent>
    <artifactId>artifactId</artifactId>
    <packaging>play2</packaging>
    <name>name</name>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
    <repositories>
        <repository>
            <id>typesafe</id>
            <url>http://repo.typesafe.com/typesafe/releases/</url>
        </repository>
    </repositories>
    <dependencies>
        <dependency>
            <groupId>com.typesafe.play</groupId>
            <artifactId>play_2.12</artifactId>
        </dependency>
        <dependency>
            <groupId>com.typesafe.play</groupId>
            <artifactId>play-test_2.12</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.typesafe.play</groupId>
            <artifactId>play-java_2.12</artifactId>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.datatype</groupId>
            <artifactId>jackson-datatype-joda</artifactId>
        </dependency>
        <dependency>
          <groupId>com.typesafe.akka</groupId>
          <artifactId>akka-stream_2.12</artifactId>
        </dependency>
        <dependency>
            <groupId>org.easytesting</groupId>
            <artifactId>fest-assert-core</artifactId>
        </dependency>
    </dependencies>
    <build>
        <!-- Play source directory -->
        <sourceDirectory>${basedir}/app</sourceDirectory>
        <testSourceDirectory>${basedir}/test</testSourceDirectory>
        <resources>
            <resource>
                <directory>${basedir}/conf</directory>
            </resource>
            <resource>
                <directory>${basedir}/public</directory>
                <targetPath>public</targetPath>
            </resource>
            <resource>
                <directory>${basedir}/target/sbt/web/public/main</directory>
                <targetPath>public</targetPath>
            </resource>
        </resources>

        <plugins>
            <plugin>
                <groupId>com.google.code.play2-maven-plugin</groupId>
                <artifactId>play2-maven-plugin</artifactId>
                <version>1.0.0-rc5</version>
                <extensions>true</extensions>
                <configuration>
                    <mainLang>java</mainLang>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>com.google.code.play2-maven-plugin</groupId>
                        <artifactId>play2-provider-play27</artifactId>
                        <version>1.0.0-rc5</version>
                    </dependency>
                </dependencies>
                <executions>
                    <execution>
                        <id>default-play2-enhance</id>
                        <goals>
                            <goal>enhance</goal>
                        </goals>
                    </execution>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>dist</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <groupId>com.google.code.sbt-compiler-maven-plugin</groupId>
                <artifactId>sbt-compiler-maven-plugin</artifactId>
                <version>1.0.0</version>
            </plugin>

            <plugin>
                <groupId>com.google.code.sbtrun-maven-plugin</groupId>
                <artifactId>sbtrun-maven-plugin</artifactId>
                <version>1.0.1</version>
                <executions>
                    <execution>
                        <id>compile-assets</id>
                        <phase>generate-resources</phase>
                        <goals>
                            <goal>run</goal>
                        </goals>
                        <configuration>
                            <args>web-assets:assets</args>
                            <jvmArgs>-Dscala.version=2.12.8</jvmArgs>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>2.6</version>
                <executions>
                    <execution>
                        <id>default-jar</id>
                        <configuration>
                            <archive>
                                <manifest>
                                    <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                                    <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
                                </manifest>
                            </archive>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>build-helper-maven-plugin</artifactId>
                <version>1.12</version>
                <executions>
                    <execution>
                        <id>attach-artifacts</id>
                        <phase>package</phase>
                        <goals>
                            <goal>attach-artifact</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <!-- &lt;!&ndash; These empty tags keep IntelliJ quiet &ndash;&gt; -->
                    <name />
                    <regex />
                    <source />
                    <value />
                    <fileSet />
                    <artifacts>
                        <artifact>
                            <file>${project.build.directory}/service-${project.version}-dist.zip</file>
                            <type>zip</type>
                            <classifier>dist</classifier>
                        </artifact>
                    </artifacts>
                </configuration>
            </plugin>
        </plugins>
    </build>
    <profiles>
        <profile>
            <id>eclipse</id> <!-- for M2Eclipse only -->

            <build>
                <directory>${project.basedir}/target-eclipse</directory>

                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-compiler-plugin</artifactId>
                        <configuration>
                            <skipMain>true</skipMain>
                            <skip>true</skip>
                            <source>11</source>
                            <target>11</target>
                        </configuration>
                        <executions>
                            <execution>
                                <id>default-compile</id>
                                <goals><goal>compile</goal></goals>
                            </execution>
                            <execution>
                                <id>default-testCompile</id>
                                <goals><goal>testCompile</goal></goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>
</project>

编辑:更新的SBT和Scala版本,添加了已编辑的pom

EN

回答 1

Stack Overflow用户

发布于 2020-02-06 12:10:09

根据scala文档https://docs.scala-lang.org/overviews/jdk-compatibility/overview.html

您的SBT版本与Java 11不兼容。

如果您不想升级到更高的版本,那么您使用的Akka版本应该是好的。

更新:

我可以看到您将sbt版本更新为0.13.17,并且尝试了更高的版本,但是您应该忘记SBT0.13并坚持使用SBT1.x,因为SBT0.13使用scala 2.10,而SBT1.xScala2.12。

我还注意到您没有maven编译器插件的版本标记。如果您使用的是maven 3,它应该会因为缺少这个标记而无法构建,而且由于它不是,我猜您使用的是应该升级的maven 2。此外,您还应该添加3.8.0版本标记到maven编译器插件中。

检查本指南,看看如何正确配置这个插件用于java 11。您还应该检查其他说明,看看是否所有的东西都配置正确。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60098832

复制
相关文章
Tcp连接建立与连接释放
1)客户端给服务器发送了一条将其SYN标志位置1的请求连接建立报文,然后其状态由closed转变为SYN-SENT(同步已发送)。
你的益达
2020/08/25
3.8K0
Tcp连接建立与连接释放
建立JDBC数据库连接实例解析
  连接(Connection)是一个代表与数据库进行的程序连接的对象。通过连接,可以执行SQL语句、返回数据库操作结果等。 创建指定数据库的URL     要建立与数据库的连接,首先要创建指定数据库的URL。连接通常是通过数据库的URL对象,利用DriverManager的getConnection方法建立的。数据库URL对象与网络资源的统一资源定位类似,其构成格式如下:    jdbc:subProtocol:subName://hostname:port; DatabaseName=XXX  
阿新
2018/04/11
2.2K0
如何与 Zappos 建立 EDI 连接?
Zappos 是一家享誉全球的知名在线鞋类和服饰零售商,经营范围涵盖各类时尚品牌的鞋类、服饰及配饰等,使命是为广大消费者提供方便、愉悦、优质的购物体验,让每一位顾客都能找到心仪的产品。多年来,Zappos 卖场凭借卓越的服务与产品质量,积累了众多荣誉和成就。
知行软件EDI
2023/07/28
2520
如何与 Zappos 建立 EDI 连接?
如何与 MACOM 建立 EDI 连接?
MACOM提供高性能射频,微波和毫米波器件,其产品广泛应用于通信,航空航天,国防和工业市场。近年来MACOM在中国地区的业务一直高速增长。
知行软件EDI
2023/04/17
1.3K0
如何与 MACOM 建立 EDI 连接?
如何与GHSP 建立 EDI 连接?
GHSP是全球领先的汽车、运输和电器行业机械和机电系统供应商。最初成立于1924年,此后已扩展到世界各地。如果GHSP向我们发来EDI连接邀请,我们应该如何应对呢?
知行软件EDI
2022/10/31
1.3K0
如何与GHSP 建立 EDI 连接?
如何与Kostal 建立EDI连接?
Kostal是一家德国公司,主要从事汽车电子和工业电子产品的研发、生产和销售,是全球领先的电子元器件和系统供应商之一。其产品包括电气系统、传感器、电动驱动系统、电池管理系统等方面,被广泛应用于汽车、工业、家用电器等领域。
知行软件EDI
2023/05/09
6220
在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误
在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)
星哥玩云
2022/08/16
5.7K0
在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误
速读原著-TCP/IP(连接的建立与终止)
T C P是一个面向连接的协议。无论哪一方向另一方发送数据之前,都必须先在双方之间建立一条连接。本章将详细讨论一个 T C P连接是如何建立的以及通信结束后是如何终止的。这种两端间连接的建立与无连接协议如 U D P不同。我们在第 11章看到一端使用 U D P向另一端发送数据报时,无需任何预先的握手。
cwl_java
2020/03/11
5480
如何与宜家IKEA建立EDI连接?
宜家IKEA是来自瑞典的全球知名家具和家居零售商,在全球拥有223个商场,其中有36家商场位于中国大陆。如今宜家在全球53个国家有大约1300个供应商,在16个国家的28个分销中心负责为宜家商场供货。如此庞大的供应链体系和业务数据量使得宜家的业务数据处理流程面临巨大挑战。究竟如何处理大批量的业务数据呢?答案是:使用EDI(电子数据交换)技术。EDI专攻于大批量的业务数据处理,助力宜家提升其自动化水平。
知行软件EDI
2021/05/24
9630
如何与宜家IKEA建立EDI连接?
Linux下与github建立ssh连接
3.当你看到 “Enter a file in which to save the key,” 的提示后,按Enter键.意思就是使用默认路径.
LogicPanda
2018/08/30
6.8K0
Linux下与github建立ssh连接
Linux下与github建立ssh连接
前期准备 设置用户: git config --global user.name "your name" git config --globa user.email "your email.com" 全局使用该用户名及用户邮箱 创建目录: mkdir new_folder_name 创建一个用于跟踪的新文件夹或者使用系统自带的文件管理系统创建一个新的文件夹 可以参看 git常用命令及含义[http://blog.csdn.net/autuan_liu/article/details/5
zenRRan
2018/04/10
6.5K0
Linux下与github建立ssh连接
浅谈TCP协议(建立与断开连接)
TCP是面向连接的,可靠的进程到进程通信的协议。 TCP提供全双工服务,即数据可在同一时间双向传输,每一个TCP都有发送缓存,用来临时存储数据。 TCP将若干个字节构成一个分组,成为报文段(segment) TCP报文段封装在IP数据报中:
小手冰凉
2019/09/10
2.7K0
浅谈TCP协议(建立与断开连接)
如何与 Boot Barn 建立 EDI 连接?
Boot Barn 大力鼓励其供应商使用 EDI,计划与其供应商一起使用 EDI 技术,从而转换采购订单、发票和提前发货通知 (ASN) 的人工处理方式。
知行软件EDI
2023/08/04
2550
如何与 Boot Barn 建立 EDI 连接?
MariaDB 建立连接
上面给出的代码连接到MariaDB并提供一个命令提示符来执行SQL命令。 输入代码后,将显示一条欢迎消息,指示连接成功,并显示版本号。
用户9042463
2021/09/29
1.7K0
建立技术连接的思维
从工作计划的角度来说,我们是罗列出一些工作的清单,标明任务权重,当然从我们的角度来说,我们更多会从系统,技术的角度来进行描述和权衡。
jeanron100
2019/05/13
7650
Mysql连接建立与thread cache唤醒原理
Thread 1 监听socket,协议栈的连接上来后,使用现有的或新建线程处理连接。
mingjie
2022/05/12
1.1K0
一、Django连接与建立数据库
如果没有修改django默认数据库连接,那么会自动生产一个sqlite3的数据库。
Dreamy.TZK
2020/04/09
2.8K0
如何与劳氏 Lowe's 建立EDI连接?
劳氏Lowe's(以下简称:Lowe's)是专门从事家庭装修的美国零售公司,而 EDI 则是电子数据交换的缩写,是指通过计算机网络进行企业间电子数据交换的一种标准化方式。
知行软件EDI
2023/05/10
3690
如何与劳氏 Lowe's 建立EDI连接?
【说站】python中socket建立客户连接
以上就是python中socket建立客户连接的方法,希望对大家有所帮助。更多Python学习指路:python基础教程
很酷的站长
2022/11/23
5380
【说站】python中socket建立客户连接
如何与安森美Onsemi建立EDI连接?
安森美半导体(ON Semiconductor)是应用于高能效电子产品的首要高性能硅方案供应商。其产品包括电源和信号管理、逻辑、分立及定制器件,帮助客户解决他们在汽车、通信、计算机、消费电子等领域的独特设计挑战。近期我们帮助客户成功与安森美Onsemi建立EDI连接,实现自动化地业务数据传输。
知行软件EDI
2022/10/25
5050
如何与安森美Onsemi建立EDI连接?

相似问题

当大小文件较大时,$_FILE为空,代码点火器

12

当字段为空时,验证无效

10

当字段为空时删除行

15

当字段为空时获取"null“

15

当字段为空时触发变更

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档