ReVo Blog

Nuova linea nel manifest.mf

« Older   Newer »
  Share  
.ReVo.
view post Posted on 13/10/2014, 19:26 by: .ReVo.




Se state scrivendo il MANIFEST.MF per il vostro file .jar ricordatevi di aggiungere SEMPRE una nuova linea alla fine o la API Java non leggerà l'ultima chiave presente nel file.

Esempio, se avete questo nel file

CODICE
Manifest-Version: 1.0
Module-Class: com.module.SimpleModule


la classe Manifest conterrà soltando l'attributo Manifest-Version mentre con

CODICE
Manifest-Version: 1.0
Module-Class: com.module.SimpleModule
<spazio>


il vostro file sarà letto correttamente.

Esempio codice

CODICE
for (File file : files) {
           JarFile jarFile = null;

           try {
               jarFile = new JarFile(file);
               Manifest manifest = jarFile.getManifest();

               if (manifest == null) {
                   continue;
               }

               clazzes.add(manifest.getMainAttributes().getValue("Module-Class"));
               urls.add(file.toURI().toURL());
           } catch (IOException e) {
               /* log exception */
           } finally {
               try {
                   jarFile.close();
               } catch (IOException ignored) { }
           }
}


il consiglio è di inserire due spazi alla fine del file, esempio:

CODICE
Manifest-Version: 1.0
Module-Class: com.module.SimpleModule
<spazio>
<spazio>


Personalmente ho deciso di scrivere questo post come promemoria in caso mi succeda di nuovo in futuro. (p.s questo bug è abbastanza strano, ma non mi sono informato molto online quindi...)

p.s <spazio> corrisponde ad una linea vuota, forumfree rimuove gli spazi in automatico.

Edited by .ReVo. - 13/10/2014, 21:29
 
Top
0 replies since 13/10/2014, 19:26   3 views
  Share