如何在Java中选择从哪个库导入类?

not*_*ael 9 java

我有两个版本的Java库model.jar,每个版本都有相同的类集(但实现不同).我想编写一个Java类,从一个版本导入一些类,并从另一个版本导入一些类.

我知道我可以通过给他们不同的名字包括在编译中:

javac -cp model.jar;model2.jar MyClass.java
Run Code Online (Sandbox Code Playgroud)

但是任何import语句都会从我在类路径中指定的第一个.jar文件中导入相应的类.

我可以在我的import语句中指定要导入哪个库,因为两个文件的库结构都相同吗?

Hen*_*nry 2

如果类具有相同的名称(包括包),则除非您使用不同的类加载器,否则就没有机会。Java 将始终使用它在类路径中找到的第一个匹配的类。

此外,如果在不同版本中使用相同的库,可能会出现严重的问题。你真的应该尝试用另一种方式解决这个问题。