使用多版本jar部署WAR失败

问题描述 投票:0回答:1

我目前仅限于 JDK17。我使用 maven 构建,依赖项需要进一步的 jackson 2.15.0 jar,该 jar 是一个多版本,包含 Java 11、17 和 19 的版本。我正在构建一个 WAR 文件,但在部署到(webprofile)服务器(TomEE 9.1.1、Glassfish v6.2.5),部署失败并出现以下错误:

访问时出现异常 META-INF/versions/19/com/fasterxml/jackson/core/io/doubleparser/FastIntegerMath.class 大小 5112 java.lang.IllegalArgumentException:不支持的类 文件主要版本 63

63 当然是 Java 19。

Glassfish 7.0.1 另一方面,可以工作,尽管部署速度非常慢(在本地主机上)。

我读到现代服务器可以处理 MRjar(例如:最新的码头、glassfish 等)。我找不到任何有效的 Maven 属性(编译器源/目标/版本)、排除或强制执行器(例如:requireJavaVersion),那么我如何成功地将 WAR 部署到远程 TomEE(如果可能的话)?

maven jar war apache-tomee
1个回答
0
投票

您可以尝试显式添加具有提供范围的依赖项是否有效吗?它标记依赖关系应该由容器提供,因此服务器将使用自己的版本,该版本应该可以工作。

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>2.15.0</version>
    <scope>provided</scope>
</dependency>
© www.soinside.com 2019 - 2024. All rights reserved.