Sudhanshu Gupta
Sudhanshu Gupta

Reputation: 71

add external jar to our dependency

There is a jar file lets say "abc.jar" which maven dependency does not exist(ie created a jar by using java command of own classes). I want to add this jar as maven dependency so that at build time it will automatically copy that jar in lib folder as like other maven dependency. how i will do. please help .

Upvotes: 1

Views: 95

Answers (3)

Seelenvirtuose
Seelenvirtuose

Reputation: 20658

A normal maven dependency is always resolved by looking into a repository. So you must put your JAR file into a repository.

You could install your JAR into your local repository. Have a look at the install plugin. The install-file goal is your friend.

If other developers also need this JAR (because they are working with the same project), they either need to install it locally too, or - better - you deploy the JAR to a remote repository. Have a look at the deploy plugin. Here the deploy-file goal is your friend. For deploying artifacts, you need a repository manager like Nexus or Artifactory.

However, a dependency could also have the system scope (look at the other answers).

Upvotes: 0

Vinod
Vinod

Reputation: 1130

You can use the systemPath attribute in the dependency tag in the POM file of your project.

In your pom.xml, use the following snippet corresponding to abc.jar:

<dependencies>
  <!-- Other dependencies -->
  <dependency>
    <groupId>abc</groupId>
    <artifactId>x</artifactId>
    <version>1.0</version>
    <scope>system</scope>
    <systemPath>{path_to_abc.jar}</systemPath>
  </dependency>
</dependencies>

The scope parameter corresponding to this artifact must be set to system, for the artifact to be picked up from the specified systemPath.

Hope this helps!

Upvotes: 0

Qwerky
Qwerky

Reputation: 18455

Add it as a dependency with a system scope. See the docs here.

However, rather than adding it as a system dependency it might be better to mavenize the jar itself, then you can build and install it into your dependency management system.

Also, see this question: Can I add jars to maven 2 build classpath without installing them?

Upvotes: 1

Related Questions