.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
- Tags:
- java
|
|
| |