首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用jdk17的maven反应器中的传递依赖

使用jdk17的maven反应器中的传递依赖
EN

Stack Overflow用户
提问于 2021-11-18 14:51:58
回答 1查看 134关注 0票数 1

我正在将一个大型应用程序升级到JDK17。现在,该项目使用JDK11和maven编译得很好。

使用JDK17时,我遇到了一个非常奇怪的问题,那就是传递依赖的版本。

本项目由多个子模块组成。如果我直接编译一个模块,它工作得很好。

但是,如果我编译根模块,或者任何包含子模块的模块,传递依赖的解析都不起作用。我有如下错误:

代码语言:javascript
复制
[INFO] -------------------------------[ bundle ]-------------------------------

Downloading from internal-repository: http://srv:8080/nexus/content/groups/public/org/apache/camel/camel-netty4/$%7Bproject.version%7D/camel-netty4-$%7Bproject.version%7D.pom

[WARNING] The POM for org.apache.camel:camel-netty4:jar:${project.version} is missing, no dependency information available

Downloading from internal-repository: http://srv:8080/nexus/content/groups/public/org/apache/camel/camel-netty4/$%7Bproject.version%7D/camel-netty4-$%7Bproject.version%7D.jar

依赖项的版本是${project.version},而不是真实版本。该项目不直接使用camel-netty4,而是使用camel-syslog

代码语言:javascript
复制
<dependency>
  <groupId>org.apache.camel</groupId>
  <artifactId>camel-syslog</artifactId>
  <version>${camel.version}</version>
</dependency>

这只是一个例子,其他项目与其他传递依赖关系一起失败。如果我直接编译子模块,它就能工作。

Maven 3.6.3

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-19 13:03:48

我使用"Eclipse Adoptium - Temurin-17+35“切换到官方的OpenJDK,我不能重现这个问题。

这个JDK在我的例子中不起作用,有关于插值问题的随机错误

代码语言:javascript
复制
IMPLEMENTOR="Eclipse Adoptium"
IMPLEMENTOR_VERSION="Temurin-17+35"
JAVA_VERSION="17"
JAVA_VERSION_DATE="2021-09-14"
FULL_VERSION="17+35"
SEMANTIC_VERSION="17+35"
BUILD_INFO="OS: Windows Server 2012 R2 Version: 6.3"
JVM_VARIANT="Hotspot"
JVM_VERSION="17+35"
IMAGE_TYPE="JDK"

这个方法每次都有效:

代码语言:javascript
复制
IMPLEMENTOR="Oracle Corporation"
JAVA_VERSION="17.0.1"
JAVA_VERSION_DATE="2021-10-19"
LIBC="default"
MODULES="java.base java.compiler java.datatransfer java.xml java.prefs java.desktop java.instrument java.logging java.management java.security.sasl java.naming java.rmi java.management.rmi java.net.http java.scripting java.security.jgss java.transaction.xa java.sql java.sql.rowset java.xml.crypto java.se java.smartcardio jdk.accessibility jdk.internal.jvmstat jdk.attach jdk.charsets jdk.compiler jdk.crypto.ec jdk.crypto.cryptoki jdk.crypto.mscapi jdk.dynalink jdk.internal.ed jdk.editpad jdk.hotspot.agent jdk.httpserver jdk.incubator.foreign jdk.incubator.vector jdk.internal.le jdk.internal.opt jdk.internal.vm.ci jdk.internal.vm.compiler jdk.internal.vm.compiler.management jdk.jartool jdk.javadoc jdk.jcmd jdk.management jdk.management.agent jdk.jconsole jdk.jdeps jdk.jdwp.agent jdk.jdi jdk.jfr jdk.jlink jdk.jpackage jdk.jshell jdk.jsobject jdk.jstatd jdk.localedata jdk.management.jfr jdk.naming.dns jdk.naming.rmi jdk.net jdk.nio.mapmode jdk.random jdk.sctp jdk.security.auth jdk.security.jgss jdk.unsupported jdk.unsupported.desktop jdk.xml.dom jdk.zipfs"
OS_ARCH="x86_64"
OS_NAME="Windows"
SOURCE=".:git:75240a5872a1"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70021939

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档