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. |