Details
Description
Eclipse M2E plugin provides a 'workspace resolution' mode where Maven projects in Eclipse workspace are provided as workspace repository which takes precedence over other repositories.
This leads to situation where artifact file isn't necessarily yet - depending on Mavens current lifecycle phase - provided as .jar but instead as directory pointing to project's output directory.
<features xmlns="http://karaf.apache.org/xmlns/features/v1.0.0" name="example"> <feature name="example" description="example"> <bundle>mvn:com/example/dependency/1.0.0</bundle> ... <bundle>mvn:com/example/project/0.0.1-SNAPSHOT</bundle> ... </feature> </features>
The patches provided in this issue not only takes care of treating directories as exploded .jar files (common approach) but also provisions them with reference: protocol that most of the OSGi frameworks understand as direct filesystem references thus allowing exploded .jars to be installed.
<features xmlns="http://karaf.apache.org/xmlns/features/v1.0.0" name="example"> <feature name="example" description="example"> <bundle>mvn:com/example/dependency/1.0.0</bundle> ... <bundle>reference:file:/~/workspace/example-project/classes/</bundle> ... </feature> </features>
Without intermediate round-trip via OSGi framework's bundle cache the 'workspace resolution' mode now offers also hot code replacement.