Details
-
Bug
-
Status: Closed
-
Blocker
-
Resolution: Fixed
-
maven-bundle-plugin-1.4.2
-
None
-
maven 2
jdk 5 or 6
any OS where JDK is supported
Description
Maven bundle plugin is doing the following.
i) When someone (from a pom.xml) uses this plug-in, to bundlize their project jars, this plugin first opens a jar file for reading. And then later after in some other method call, it opens the SAME file for writing. Basically it dynamically changes the content of the jar for reading and writing.
ii) This plugin forgets to call the close() method on the file / zip/jar/ resource of jdk and aQute packages.
How to fix:
i) Please call close() at places wherever your are trying to read and write ZipFile JarFile or aQute's Analyzer , ZipResource , Jar class files from
biz/aQute/bndlib/0.0.255/.. /OSGI-OPT/src/aQute/lib/osgi
And also at
org/apache/maven/shared/maven-osgi/0.2.0/tt/org/apache/maven/shared/osgi/DefaultMaven2OsgiConverter.java
ii) At org/apache/felix/bundleplugin/BundlePlugin.java
where where "classpath" variable is actually an Array of Jar files that need to closed upon task is done.
Note that the Jar here is from aQute and it has got resource map. So each Jar object might have recursive resources. So, please walk through the map
and close each resource if it is FileResource/ JarResource / ZipResource.
iii) At org/apache/felix/bundleplugin/BundlePlugin.java
I also suspect the place in the same BundlePlugin.java, where we call unpackBundle(...) and call ManifestPlugin.writeManifest(... , ..)
Please make sure the streams are closed.
– A generic message.
We need this very urgently. We appreciate your timely action. Any comments, questions please send it to me directly.
I can work with you to provide the fix and verify the fix.
Many thanks in advance.
Harsha