Background:
- We are building an eclipse RCP plugin with Maven and generating the MANIFEST.MF file with the Apache Felix plugin. This plugin is part of a bigger RCP framework that is developed internally in our company.
The problem:
- The Felix plugin sets Bundle-ManifestVersion=2 in the MANIFEST.MF file. When we use this manifest file, our framework throws different exceptions related to org.eclipse.runtime
- When we set Bundle-ManifestVersion=1 (manually) or when we remove this entry from the MANIFEST.MF file, this error no longer appears.
The question:
- What is the difference between Bundle-ManifestVersion=1 and Bundle-ManifestVersion=2?
The MANIFEST.MF file looks something like this:
Manifest-Version: 1.0
Embed-Directory: lib
Bundle-ClassPath: .
Tool: Bnd-0.0.357
Bundle-Name: [... omitted ...]
Created-By: Apache Maven Bundle Plugin
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: org.eclipse.core.runtime, [... omitted ...]
Build-Jdk: 1.6.0_21
Bundle-Version: 1.0.2
Bnd-LastModified: 1283847218240
Embed-Transitive: false
Bundle-ManifestVersion: 2
Import-Package: [... omitted ...]
Bundle-SymbolicName: [... omitted ...]`