[maven] Add (transitive) dependency to the classpath in the manifest

First, copy the dependencies to some given directory (e. g. lib/) using the copy-dependency plugin. Then, configure the maven jar plugin this way:

<plugin> 
  <groupId>org.apache.maven.plugins</groupId> 
  <artifactId>maven-jar-plugin</artifactId> 
  <configuration> 
    <archive> 
      <manifestEntries> 
        <Class-Path>config/</Class-Path> 
      </manifestEntries> 
      <manifest> 
        <addClasspath>true</addClasspath> 
        <classpathPrefix>lib/</classpathPrefix> 
      </manifest> 
    </archive> 
  </configuration> 
</plugin>

Reference

[1] Examples of using build classpath to create launcher script
[2] Maven manual: Manifest entry

Advertisements

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s