Если один и тот же класс находится еще в двух банках, должна возникнуть проблема.
Что именно вы имеете в виду? Почему должно быть проблемой?
В таких случаях какой класс импортируется программой? (Класс с более старой отметкой времени ??)
Если класс существует в двух JAR, класс будет загружен из первого JAR в пути к классу, где он найден. Цитирование Установка пути к классу (цитируемая часть относится и к архивным файлам):
Порядок, в котором вы указываете несколько записей пути к классам, важен. Интерпретатор Java будет искать классы в каталогах в порядке их появления в переменной пути к классам. В приведенном выше примере интерпретатор Java сначала ищет необходимый класс в каталоге C:\java\MyClasses
. Только если он не найдет класс с правильным именем в этом каталоге, интерпретатор будет искать в каталоге C:\java\OtherClasses
.
Другими словами, если требуется определенный порядок, просто явно перечислите файлы JAR в пути к классам. Это то, что обычно используют поставщики серверов приложений: для исправления определенного класса (классов) продукта вы помещаете JAR (например, CR1234.jar
), содержащий исправленные классы (ы), в путь к классу перед основным JAR (скажем, weblogic.jar
). ).
Какими методами мы можем следовать, чтобы избежать таких осложнений.
Ну, очевидный ответ: не делайте этого (или только нарочно, как в приведенном выше примере).