Rostislav Dugin
Rostislav Dugin

Reputation: 164

Build Maven project with local dependencies

I downloaded old project, which based on Eclipse, Ant or something else, I don't know this build system (I use Maven\Gradle). Project sources was converted to Maven manually, but project had more jar libraries. They were imported in project with help of IDEA (Project Structure -> Modules -> Dependencies), but libraries defined only in .iml file.

When I tried to build project in .jar with help of Maven — Maven show errors, that it cannot find classes from libraries (but in sources all good). I found in Internet example, like in this code sample:

    <dependency>
        <groupId>example</groupId>
        <artifactId>example</artifactId>
        <version>examle</version>
        <scope>system</scope>
        <systemPath>${project.basedir}/libs/example.jar</systemPath>
    </dependency>

But this don't help. Libraries are old too, and they created by old build tools, which don't write artifact id, group id and etc., so I don't know this information.


How I can write dependencies on local .jar libraries in pom.xml if I don't know information (group, artifact ids) about they?


UPD_0:

When I try to set only system path to library, I take this:

enter image description here

Upvotes: 1

Views: 3742

Answers (2)

codespawner
codespawner

Reputation: 82

Try to install this jar in ur local repository from command line / terminal like this. Then add the dependency with the package and version given by you in the command without scope as system

mvn install:install-file -Dfile=<path>/example.jar
-DgroupId=com.something
-DartifactId=example
-Dversion=<give some version>
-Dpackaging=jar
-DgeneratePom=true

Upvotes: 2

Mike Adamenko
Mike Adamenko

Reputation: 3002

All you need is set correct path in the

 <systemPath>${project.basedir}/libs/example.jar</systemPath>

group, artifact ids and version are user defined information. So you can define it as you wish.

Upvotes: 5

Related Questions