the_critic
the_critic

Reputation: 12820

Add a module dependency in Maven

I have got two Maven projects. One of them has to be dependent on the other. I use IntelliJ and I have tried to right click on project1 > Open Module Settings, and in the dependencies tab I clicked on the + symbol to add a directory or jar dependency. So far so good, when I try to import packages from the dependency it autocompletes it for me, however the compilation throws errors, saying that there are no such packages. What am I doing wrong ?

Upvotes: 3

Views: 18265

Answers (1)

JB Nizet
JB Nizet

Reputation: 691785

There is no notion of project in Maven.

You have a Maven project B. You chose its groupId (com.mycompany, for example), its artifactId (B, for example), and its version (1.0-SNAPSHOT, for example). You run mvn install on this project. This generates a B-1.0-SNAPSHOT.jar file and stores it in your local Maven repository, with its pom.

Now you want to use B-1.0-SNAPSHOT.jar in another Maven project A. For A, B is a library, just like any other library you use (log4J, Spring, Hibernate, Guava, whatever). So you add a dependency to it in the pom of A, just like you do for any other library:

<dependencies>
    <dependency>
        <groupId>com.mycompany</groupId>
        <artifactId>B</artifactId>
        <version>1.0-SNAPSHOT</version>
    </dependency>
    <!-- other dependencies: log4J, Spring, Hibernate, Guava, whatever -->
</dependencies>

Read the awful documentation for more details.

Upvotes: 13

Related Questions