2015-05-26 2 views
1

У меня есть родителю Maven модуль:Как подключить два модуля Maven в одном?

<?xml version="1.0" encoding="UTF-8"?> 
<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>com.test</groupId> 
    <artifactId>atata</artifactId> 
    <packaging>pom</packaging> 
    <version>1.0-SNAPSHOT</version>  
    <modules> 
     <module>core</module> 
     <module>runner</module> 
    </modules> 
</project> 

Он имеет двоих детей.

<parent> 
    <artifactId>atata</artifactId> 
    <groupId>com.test</groupId> 
    <version>1.0-SNAPSHOT</version> 
</parent> 

<modelVersion>4.0.0</modelVersion> 
<artifactId>runner</artifactId> 

И

<parent> 
    <artifactId>atata</artifactId> 
    <groupId>com.test</groupId> 
    <version>1.0-SNAPSHOT</version> 
</parent> 

<modelVersion>4.0.0</modelVersion> 
<artifactId>core</artifactId> 

В Core У меня есть код:

public class A { 
    public void fun() { 
     System.out.println("Hello!"); 
    } 
} 

В Runner модуль я использую A класс:

public class Runner { 
    public static void main(String[] args) { 
     new A().fun(); 
    } 
} 

Но теперь мой Runner не видит класс A. Возможно ли это сделать видимым?

+1

Вам нужно создать зависимость от «ядра» в «бегуна». – Rob

+0

Просто потому, что они разделяют родителя, это не значит, что они видны друг другу. Это не та же концепция, что и java-пакеты. Дети просто наследуют некоторые настройки от родителя. –

ответ

4

Создать зависимость от Core в Runner ПОМ:

<dependencies> 
    <dependency> 
     <groupId>com.test</groupId> 
     <artifactId>core</artifactId> 
     <version>${project.version}</version> 
    </dependency> 
</dependencies> 

Обратите внимание, что зависимости могут идти только в одну сторону, так что вы не можете иметь зависимость от Runner от Core, так как это вызвало бы циклическую зависимость, которая не допускается. Похоже, у вас есть хороший старт, судя по вашим именам модулей.

0

добавить к бегуна pom.xml

<dependencies> 
...... 
    <dependency> 
     <groupId>com.test</groupId> 
     <artifactId>core</artifactId> 
     <version>1.0-SNAPSHOT</version> 
    </dependency> 
...... 
</dependencies> 
Смежные вопросы