2012-02-10 2 views
0

Есть ли библиотека или надстройка для pre-1.5 JRE (1.3 или 1.4), которая может распаковать и запустить pack200-упакованные JAR?Есть ли задний порт пакета200 на pre-1.5 jre?

EDIT:

мне это нужно, потому что я пишу апплет для унаследованной Java 1.3 окружающей среды, и я хочу, чтобы сохранить пропускную способность за счет сжатия банку как можно больше.

+0

Почему вы кодируете поддержку устаревших JRE? –

+0

Потому что я пишу [киоск] (http://en.wikipedia.org/wiki/Common_Use_Self_Service) программное обеспечение, которое требует jre 1.3. – rustyx

ответ

1

Нет, нет. Однако это только часть вашей проблемы.

Существует высокая вероятность того, что содержимое архива pack200 было скомпилировано с помощью JDK 1.6. Даже если вы можете связать декомпрессию архива pack200 в загрузчике классов, вероятность отличная, поэтому ваша JVM будет жаловаться на то, что она не сможет понять эти скомпилированные файлы классов с версией 1.6 (поскольку эта версия была написана ПОСЛЕ того, как 1.5 JVM была выпущенный).

Теперь, если вы гарантируете, что содержимое совместимо с JRE 1.5, то если вы действительно хотите использовать пакет pack200 (или какой-либо другой формат сжатия сжатого архивного файла), вам придется работать по своему собственному ClassLoader, что даст вам полный контроль над поиском классов. Это позволит вам распаковать архив и искать его во время поиска класса.

Если это ключевая функция вашего программного обеспечения, шансы отличные, что вы должны придерживаться доставки файлов JAR на 1,5.

+0

Вероятность того, что содержимое архива pack200 было скомпилировано с помощью JDK 1.6, равно нулю. Это мои собственные файлы классов 1.3, которые я хочу сжать, чтобы сэкономить пропускную способность. – rustyx

+0

О, и мне нужно иметь возможность запускать в песочнице. Можно ли использовать собственный ClassLoader в апплете? – rustyx

+0

* «Могу ли я использовать собственный ClassLoader в апплете?» * Не в аппликаторе с песочницей, нет. –