[ https://issues.apache.org/jira/browse/FELIX-2318?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12863839#action_12863839 ]
Marco commented on FELIX-2318: ------------------------------ Yesterday, I stumbled exactly over this NPE, which was not very developer friendly and forced me to dig quite deep into it (decompiling & debugging). I'm not sure whether I can agree to Sahoo's suggestion to return a value in this case. I mean, if there is no proper MANIFEST, it is not a valid OSGi bundle and thus the method installOrUpdateBundle(...) cannot really return anything meaningful. Or am I overlooking anything? Anyway, for me (and everyone else not being aware of the MANIFEST.MF being required at the very beginning of the JAR) a simple exception with a precise error message would have been most helpful. I therefore recommend to simply add sth. like this: if (m == null) throw new BundleException( String.format( "The bundle %s does not have a META-INF/MANIFEST.MF! "+ "Make sure, META-INF and MANIFEST.MF are the first 2 entries in your JAR!", bundleLocation ) ); > Possible NPE for jars with null Manifest > ---------------------------------------- > > Key: FELIX-2318 > URL: https://issues.apache.org/jira/browse/FELIX-2318 > Project: Felix > Issue Type: Bug > Components: File Install > Reporter: Sahoo > > JarFile.getManifest() can return null, so caller must check return value for > null-ness to avoid NPE. I see two such occurrences in fileinstall: > DirectoryWatcher.java: > private Bundle installOrUpdateBundle( > String bundleLocation, BufferedInputStream is, long checksum) > throws IOException, BundleException > { > is.mark(256 * 1024); > JarInputStream jar = new JarInputStream(is); > Manifest m = jar.getManifest(); > String sn = > m.getMainAttributes().getValue(Constants.BUNDLE_SYMBOLICNAME); > ... > BundleTransformer.java: > Manifest m = jar.getManifest(); > if (m.getMainAttributes().getValue(new > Attributes.Name("Bundle-SymbolicName")) != null) > ... -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.