Я только что задал недавний вопрос о распределении исполняемых JAR-файлов и их зависимостей, и это заставило меня понять, что мое понимание JAR-файлов может быть в корне неверным.
Таким образом, некоторые могут сказать: " Эй, сейчас!Это повторяющийся вопрос!"Но я говорю« нет », этот вопрос является совершенно отдельным ответом этого оригинального вопроса и касается основ Java!
Если у меня естьприложение, которое зависит, скажем, от Apache Commons CLI, а также от JODA Time, и я упаковываю это приложение в распространяемый JAR, мой оригинальный вопрос был: Как не включать JAR CLI и JODA в мой JAR, какпрограмма запускается на стороне клиента ???
Теперь я думаю, что, поскольку мой код, использующий CLI и JODA, скомпилирован в файлы классов, и этот байт-код - это то, что упаковывается, тогданет необходимости включать CLI или JODA (или любой другой сторонний JAR-файл) в мой JAR-файл, так как он теперь работает с байт-кодом.
Может кто-то cподтвердить или поправить меня?Это откровение, хотя и с опозданием, ошеломляет.