I am brand new to Maven.
I am trying to do the following:
Suppose we need projects A and B. Project B needs to use some classfrom_A from a jar imported from A Here are the definitions: POM.xml of project A:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>A_Group</groupId>
<artifactId>A_Artifact</artifactId>
<version>1.0</version>
<packaging>jar</packaging>
<name>A_Project</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
</project>
Here is the POM.xml of project B (depends on A):
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>B_Group</groupId>
<artifactId>B_Artifact</artifactId>
<version>1.0</version>
<packaging>jar</packaging>
<name>B_Project</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>A_Group</groupId>
<artifactId>A_Artifact</artifactId>
<version>1.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>
Here is the code snippet from project B:
import packageFromA.*;
public class App {
public static void main(String[] args) {
classFromA ca = new ClassFromA;
ca.someFunction();
}
}
I run mvn install for A, and then for B without errors. But when I tried to run the code from IntelliJ Idea, an error occurred: Error: (3, 18) java: packageFromA does not exist
As I understand from maven docs: "compilation dependencies are available in all pathpath classes, and they are packaged." But it seems that the import class has not yet been resolved. What is missing in the definitions? thanks in advance
UPDATE: IntelliJ .
java projectB
? , location im local maven repository (.m2/repository)?