2010-02-24 22 views
5

Después de algunas búsquedas en Google y aquí, todavía no he encontrado ninguna respuesta a lo siguiente:Manifiesto vs formato de archivo Propiedades

¿Hay alguna razón que se manifiesta JAR no sólo usan el formato de las propiedades?

Supongo que esto es histórico, pero sería bueno saber cómo llegó a ser – fue la decisión de no utilizar el formato de propiedades explícitamente o el formato de propiedades desarrollado después del formato manifiesto?

Por lo que puedo ver, no habría ninguna razón técnica, aunque el formato de manifiesto parece un poco más legible.

Respuesta

2

Buena pregunta. Solo puedo especular.

Pero un detalle importante acerca de la implementación Properties (aunque no necesariamente la especificación del formato de archivo) es que no admite valores múltiples con la misma clave (que necesita para valores de entrada en el manifiesto) y para mantener y representar el orden de sus entradas.

+0

Esas son cosas importantes para los manifiestos. Entonces, si bien esto proporciona una razón para cualquier tipo de desviación del formato de propiedades, la pregunta sigue siendo por qué el formato básico no se mantuvo igual (de hecho, ¿no hubiera sido mejor simplemente hacer la implementación de 'Properties' ¿mas general?). –

+0

Como soy nuevo en StackOverflow, no estoy seguro de cuál es el "procedimiento estándar" para aceptar respuestas. Voy a esperar otro día o dos y si no hay más respuestas, aceptaré esta, es la mejor hasta el momento y muestra una diferencia interesante entre los dos formatos. –

0

Probablemente sea algo histórico. El formato de manifiesto es más restrictivo sobre ciertas cosas, como la longitud máxima de línea. También tiene un montón de reglas sobre la firma de jar, pero creo que esas cosas se agregaron más tarde.

+0

Acabo de verificar las reglas de firma y básicamente se reducen al comentario de @Joachim, es decir, permitir múltiples valores con la misma clave y mantener el orden intacto. En cuanto a la longitud de línea máxima, ¡buen punto! Son 70 caracteres (y según Wikipedia hay algunos problemas con la interpretación de las reglas de envoltura). –

0

También debe considerar el problema de arranque. El manifiesto del primer archivo JAR cargado puede no ser leído por el código Java en absoluto ...

+0

Sin argumento: por coherencia, podrían haber creado su bootstrap usando la misma especificación para la persistencia. – Newtopian

+0

Por supuesto, pero deja en claro que java.util.Properties no está necesariamente disponible y es de uso gratuito en todo momento. – EJP

Cuestiones relacionadas