/**
* Function :readManifestContext
* <p>
* Description :读取MANIFEST.MF中Bundle-SymbolicName的值
* <p>
* Author 2009-3-17
* @param filePath
* 文件路径
* @return
* @throws Exception
*/
public static String getBundleSymbolicNameAndVersion(String filePath)
{
if (filePath == null || filePath.equals("")
|| !filePath.endsWith(".jar"))
{
return null;
}
try
{
JarFile jf = new JarFile(filePath);
Manifest mf = jf.getManifest();
Attributes attributes = mf.getMainAttributes();
String bundleSymbolicName = attributes
.getValue(BUNDLE_SYMBOLIC_NAME);
if (bundleSymbolicName != null && !bundleSymbolicName.equals(""))
{
bundleSymbolicName = bundleSymbolicName.split(";")[0];
if (bundleSymbolicName != null
&& !bundleSymbolicName.equals(""))
{
String bundleVersion = attributes.getValue(BUNDLE_VERSION);
return bundleSymbolicName
+ (bundleVersion == null ? "" : " ("
+ bundleVersion + ") ");
}
}
return null;
}
catch (IOException e)
{
return null;
}
}