>
> well it asks the Maven runtime for the list of resolved project
> dependencies,
> which could trigger download of missing/updated dependencies
> to your local
> Maven repo, but it doesn't copy these dependencies to your
> project directory
>
> if you use Embed-Dependency the plugin will look for matching
> dependencies
> and add the appropriate "Include-Resource" instructions to
> add the jars to
> the
> bundle (the Bnd Tool http://aqute.biz/Code/Bnd does the adding)
>
> but note that the Bnd Tool won't copy them to the build
> directory - instead
> they
> are added to the jar in memory, and the jar is written out at
> the end of the
> build
Ok, everything is totally clear now, thanks!
>
> also remember that the Bnd Tool only adds whatever
> packages/resources you
> instruct it to add (ie. it doesn't simply zip up
> "target/classes" like the
> jar plugin)
Actually, I don't have any classes in that project, it's just a bundle
containing all the dependencies from the app server.
>
> alternatively you could unpack the bundle after it has been
> packaged by
> using
> the <unpackBundle> setting - however, the problem with this
> is that you'll
> want
> to unpack under "target" (ie. a temporary directory) but PDE
> expects paths
> to
> be relative to the project directory - so the
> Bundle-ClassPath won't match
>
> this is where the "pax:eclipse" goal helps, because it munges
> the entries in
> the
> Bundle-ClassPath in the Eclipse/PDE manifest so dependencies
> and classes
> appear to be in the right place for PDE (eg. "." becomes
> "target/classes",
> etc.)
Thanks, but I'll definitely stick to the JAR files.
>
> I'm asking because at the moment, I have 40 JAR files downloaded as
> > dependencies (by the dependencies plugin), but even though I specify
> > <Bundle-ClassPath>.,{maven-dependencies}</Bundle-ClassPath>
> > I only have 37 JARs in there.
> >
>
> hard to say without seeing the dependency graph and your
> embed instruction,
> do you happen to notice anything in common wrt. the missing
> dependencies?
Ok, after adding dependency:tree and configuring things a bit better, they're
now in sync.
I'll add the relevant parts of my POM, just to be sure:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>validate</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<includeScope>runtime</includeScope>
<excludeTypes>pom</excludeTypes>
<outputDirectory>${basedir}</outputDirectory>
<overWriteReleases>true</overWriteReleases>
<overWriteSnapshots>true</overWriteSnapshots>
<overWriteIfNewer>true</overWriteIfNewer>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<manifestLocation>META-INF</manifestLocation>
<instructions>
<Bundle-SymbolicName>ch.ipi.esv.client.serverlib</Bundle-SymbolicName>
<Export-Package>*</Export-Package>
<Embed-Dependency>*;scope=compile|runtime;type=!pom</Embed-Dependency>
<Embed-Transitive>true</Embed-Transitive>
<Import-Package>org.slf4j,*</Import-Package>
</instructions>
</configuration>
</plugin>
>
> btw, you don't need to set Bundle-ClassPath when embedding
> dependencies,
> unless you want to re-order the entries - the plugin
> automatically updates
> the
> Bundle-ClassPath to include any embedded dependencies
Thanks, deleted.
>
> if you're using the dependency plugin to put dependent jars
> at the project
> root
> then you don't need to use <Embed-Directory> - you'd only
> need to use that
> if you wanted to put the dependent jars in a sub-directory
> (people sometimes
> put them under target, so they don't litter the main directory)
Since (as you said) I have to have them in the root directory, this part
deleted as well.
Now the Eclipse RCP developer is telling me that Eclipse doesn't like the
MANIFEST format that Felix generates... weird!
Have you ever heard of such problems? (He previously created the MANIFEST by
hand, putting every JAR and every package in its own line)
Best regards,
Eric
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]