ReVo Blog


 
Replying to Nuova linea nel manifest.mf
Nickname
Post Icons
                                     

                                   

Code Buttons

         
           FFUpload  Huppy Pick colour HTML Editor Help
Enter your Post
(Check Message Length)

Clickable Smilies
:huh:^_^:o:;):P:D
:lol::B)::rolleyes:-_-<_<:)
:wub::angry::(:unsure::wacko::blink:
:ph34r::alienff::cry::sick::shifty::woot:
<3:XD:*_*:];P:XP:
(:=)X):D:>.<>_<
=_=:|:?3_3:p:;_;
^U^*^^*:=/::*::b::f:
Show All


  
 


Last 10 Posts [ In reverse order ]
.ReVo.Posted: 13/10/2014, 19:26
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.