gpt4 book ai didi

java - 将提供的 Maven 依赖项替换为本地类

转载 作者:行者123 更新时间:2023-12-01 09:15:06 28 4
gpt4 key购买 nike

如果我检查我的有效 pom,我会发现以下条目:

  <dependency>
<groupId>com.package.of.other.department</groupId>
<artifactId>someArtifact</artifactId>
<version>2.4.2</version>
<scope>provided</scope>
</dependency>

这来自父 pom,我们必须使用它来让我们的软件(bpmn 流程)在公司范围的平台上运行。

现在是一个棘手的部分。会有更大的变化,我们不能再使用 someArtifact 了。不幸的是,该 Artifact 被我们所有的流程直接调用(您设计流程并为项目配置完整的限定类名),并且不能只配置不同的 Artifact ,因为这很可能会破坏许多正在运行的流程。

简单的计划是创建一个具有相同包名和相同类名的类,删除对原始包的所有依赖,一切都应该正常工作。在测试过程中,我注意到它没有使用我的新类,但仍然是原始类,很可能是因为它通过强制父 pom 作为依赖项提供,并且出于某种原因,它比我的本地类更喜欢它。

从父 pom 中排除提供的依赖项似乎并不那么容易?!知道如何解决我的问题吗?

最佳答案

如果应用程序是常规 java,则将加载的类是类路径顺序中遇到的第一个类。

如果使用其他运行时包依赖管理,则策略不同。例如,您可以调整 OSGi 中的导入包以确保使用私有(private)包中包含的类。

关于java - 将提供的 Maven 依赖项替换为本地类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40611519/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com