2010-02-24 4 views
5

После некоторого поиска на Google и здесь, я до сих пор не нашел ответ на следующее:манифеста против формата файл Свойства

Есть ли причина того, что JAR манифесты не просто использовать формат свойства?

Я предполагаю, что это исторически, но было бы неплохо узнать, как именно это стало – было решение не использовать формат свойств, явно сделанный, или это формат свойств, разработанный после формата манифеста?

Насколько я вижу, не было бы никакой технической причины, хотя формат манифеста кажется немного более читаемым.

ответ

2

Хороший вопрос. Я могу только догадываться.

Но одна важная деталь о реализации Properties (хотя это и не обязательно спецификация формата файла) заключается в том, что она не поддерживает несколько значений с одним и тем же ключом (который необходим для значений для каждой записи в манифесте) и для хранения и представления порядка его записей.

+0

Это важные вещи для манифестаций. Таким образом, хотя это дает основания для любого отклонения от формата свойств вообще, остается вопрос, почему основной формат не был сохранен одинаковым (на самом деле, не было бы лучше просто сделать реализацию «Свойства» более общий?). –

+0

Поскольку я новичок в StackOverflow, я не уверен, что означает «стандартная процедура» для принятия ответов. Я просто буду ждать еще один или два дня, и если ответов больше нет, я соглашусь с этим - это пока что самое лучшее и вызывает интересную разницу между этими двумя форматами. –

0

Это, вероятно, историческая вещь. Формат манифеста более ограничивает некоторые вещи, такие как максимальная длина линии. У этого также есть куча правил о подписании jar, но я думаю, что материал был добавлен позже.

+0

Я только что проверил эти правила подписывания, и они в основном сводят к комментарию @ Joachim, т. Е. Допускают несколько значений с одним и тем же ключом и сохраняют порядок неповрежденным. Что касается максимальной длины линии, хорошая точка! Это 70 символов (и согласно Википедии есть некоторые проблемы с интерпретацией правил обертывания). –

0

Вам также необходимо рассмотреть проблему начальной загрузки. Явление первого загруженного файла JAR может вообще не читаться кодом Java ...

+0

Не аргумент - для согласованности они могли бы построить свой загрузочный файл, используя ту же спецификацию для сохранения. – Newtopian

+0

Конечно, но ясно, что java.util.Properties не всегда доступен и свободен для использования в любое время. – EJP

Смежные вопросы