2009-09-11 20 views

Respuesta

0

Un archivo de manifiesto predeterminado se crea cuando crea un jar usando jar cf jar-file inputs-files.

3

Un manifiesto es un archivo de texto simple, Sun's tutorial describe su contenido en detalle.

Todo lo que tiene que hacer es crear un archivo de este tipo y update the JAR files con este comando:

jar cfm <jar-file> <manifest-addition> 
0

Los archivos de manifiesto son archivos de texto. Y dado que los archivos JAR son en realidad archivos ZIP, también puede agregar el manifiesto utilizando una herramienta como 7-zip. Esto no funciona para JAR firmados, por supuesto.

6

Eclipse proporciona opciones para generar un archivo de manifiesto para Jar, guardar ese manifiesto generado en el proyecto, o usar un archivo especificado para el manifiesto.

tengo Eclipse 3.4.2 y está en la cuarta pantalla en este proceso:

Haga clic en Proyecto -> Exportar -> archivo Java/JAR, Siguiente, Especificación del archivo JAR, A continuación, Opciones de embalaje JAR, A continuación, especificación de manifiesto JAR.

El valor predeterminado es simplemente generar un manifiesto predeterminado para el JAR, y no guardar el archivo generado de nuevo en el proyecto, por lo que si abre su archivo JAR, tendrá un manifiesto, pero solo tendrá algo como:

Manifest-Version: 1.0 

en it.

Si desea cambiar sus JAR existentes sin volver a compilarlos, la forma más sencilla es hacer lo que Mad-j sugirió y abrirlos con una herramienta Zip y editar el /META-INF/MANIFEST.MF existente. archivo y guárdelo en el JAR.

+0

Utilicé el método de Eclipse hoy, pero el Manifiesto es solo una línea y no especificó la ubicación de mi clase Principal. No pude encontrar la manera de hacer que Eclipse lo hiciera, así que hice mi propio archivo Manifiesto y lo seleccioné durante la exportación en mi proyecto Eclipse. –

3

con la hormiga puede utilizar frasco tarea. Tiene una opción de manifiesto para especificar todos los atributos que necesita incluir. Algo como esto:

<target name="create-my-jar"> 
    <jar jarfile="foo.jar" basedir="bin/classes">  
     <manifest> 
     <attribute name="Class-Path" value="xxx"/> 
     <attribute name="Ant-Version" value="${ant.version}"/> 
     <attribute name="Created-By" value="JDK ${java.version} (${java.vendor})"/> 
     <attribute name='Specification-Title' value='xxx' /> 
     <attribute name='Specification-Version' value='xxx' /> 
     <attribute name='Specification-Vendor' value='xxx' /> 
     <attribute name='Implementation-Title' value='xxx' /> 
     <attribute name='Implementation-Version' value='xxx' /> 
     <attribute name='Implementation-Vendor' value='xxx' /> 
     <attribute name='Implementation-Vendor-Id' value='xxx' /> 
     <attribute name='Implementation-Vendor-URL' value='xxx' /> 
     <attribute name="Built-By" value="${user.name}"/> 
     <attribute name='Build-Date' value='xxx'/> 
     <attribute name='Build-Time' value='xxx'/>    
     </manifest> 
     </jar> 
    </target> 
4

Acabo de encontrarme con este problema hoy.

Sí, Eclipse creará el Manifiesto para usted, pero en realidad es una broma.

Solo incluye la línea Manifest-Version: 1.0. No he descubierto cómo hacer que agregue mi clase principal, así que creé mi propio archivo MANIFEST.MF, lo agregué al directorio principal de mi proyecto (no src y no lib). Luego, cuando vaya a Exportar> Archivo JAR, pulse Siguiente hasta el final (no pulse Finalizar demasiado pronto) y haga clic en la opción para seleccionar el manifiesto del proyecto. Seleccione el archivo Manifiesto que acaba de agregar a su proyecto. Asegúrese de que el Manifiesto tenga la ruta a su clase principal (por ejemplo, com.company, etc.).Por ejemplo, esto es como un archivo de manifiesto básica se vería así:

Manifest-Version: 1.0 
Created-By: 1.6.0 (Sun Microsystems Inc.) 
Main-Class: MyPackage.MyClass 

Traté @ método de Michael pero terminé sin archivos de clases que quedan en mi frasco y sólo archivos de manifiesto .. oh bien. Mi método anterior funciona bien.

0

Usando Eclipse, en el JAR Especificación Manifiesto página en la parte inferior, hay un cuadro de texto donde se puede navegar para su Clase principal. Busque su clase Principal y haga clic en Finalizar. Esto genera el manifiesto CON la información de clase principal que permite que se ejecute el archivo jar. -Dev En

Cuestiones relacionadas