1

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 .

3 Answers3

1

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?

Community
  • 1
  • 1
Qwerky
  • 18,217
  • 6
  • 44
  • 80
0

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!

Jackall
  • 1,120
  • 1
  • 9
  • 18
0

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).

Seelenvirtuose
  • 20,273
  • 6
  • 37
  • 66