Есть ли обратный порт pack200 на pre-1.5 jre?
Существует ли библиотека или надстройка для JRE до 1.5 (1.3 или 1.4), которая может распаковывать и запускать упакованные в pack200 JAR-файлы?
РЕДАКТИРОВАТЬ:
Мне это нужно, потому что я пишу апплет для унаследованной среды Java 1.3 и хочу сэкономить пропускную способность, максимально сжав jar.
1 ответ
Нет, нет Однако это только часть вашей проблемы.
Существует высокая вероятность того, что содержимое архива pack200 было скомпилировано с JDK 1.6. Даже если бы вы могли зацепить распаковку архива pack200 в загрузчик классов, велика вероятность, что ваша JVM будет жаловаться, что не может понять эти скомпилированные файлы классов версии 1.6 (потому что эта версия была написана ПОСЛЕ того, как JVM 1.5 была вышел).
Теперь, если вы гарантируете, что содержимое совместимо с JRE 1.5, то, если вы действительно хотите использовать pack200 (или какой-либо другой, более удобный формат сжатия архивных файлов), вам придется работать в своем собственном ClassLoader
, который даст вам полный контроль над поиском классов. Это позволит вам распаковать архив и искать его во время поиска классов.
Если это не ключевая особенность вашего программного обеспечения, то есть отличные шансы, что вам следует придерживаться доставки файлов JAR для версии 1.5.