首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从同名的包中引用同名的不同类

从同名的包中引用同名的不同类
EN

Stack Overflow用户
提问于 2016-04-21 11:35:12
回答 1查看 36关注 0票数 0

我们有一个过程,它需要在不同的时间引用两个具有相同名称的不同加密类。这两个类名都是相同的包路径com.abc.security.encryption。

这两个类具有相同的包名com.abc.security.encryption,但是它们出现在不同的jar文件中。

假设ENCRYPTION.class (新逻辑)出现在Jar A中,ENCRYPTION.class(旧逻辑)出现在Jar B中。现在在我的过程中,当我们调用引用ENCRYPTION.class的Jar B时,引用的是Jar A中的ENCRYPTION.class(新逻辑),而不是Jar B中的ENCRYPTION.class(旧逻辑)。

直到我删除具有ENCRYPTION.class(新逻辑)的Jar A,才会引用Jar B中存在的ENCRYPTION.class(旧逻辑)。

由于这两个加密逻辑来自许多不同模块使用的不同实用程序模块,因此我无法要求它们更改包的名称。

我需要一种方法来确保在不更改这些模块中的任何内容的情况下,两个逻辑都被引用到所需的位置。我的进程的类路径或代码中是否有任何更改,以便调用Jar be,调用Jar B本身中存在的ENCRYPTION.class(旧逻辑)。当我调用直接ENCRYPTION.class时,它应该引用Jar A中的ENCRYPTION.class(新逻辑)。

尝试将第一个类路径添加为“。为了这个过程。但这并没有解决问题。非常感谢您的帮助。

谢谢,Nvn

EN

回答 1

Stack Overflow用户

发布于 2016-04-21 12:05:28

您应该从类路径中删除有问题的jar。如果类路径包含多个jars,而这些jars包含相同的完全限定类名,则会导致灾难。

如果这不是一个选项,您可以创建一个自定义的类加载器来执行此交换。但这可能并不容易。这里有一个类似的问题,如果你沿着这条路走下去,它可能会让你开始:Unloading classes in java?

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

https://stackoverflow.com/questions/36759155

复制
相关文章

相似问题

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