2016-04-25 2 views
1

Проект "ребенок", содержит класс Java:Отладка Maven зависимостей

package org.child; 

public class Elaborate { 

    public String getStr() { 
    return "hello"; 
    } 
} 

И этот pom.xml:

<?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>org.child</groupId> 
    <artifactId>child</artifactId> 
    <version>1.0-SNAPSHOT</version> 


</project> 

Проект "родитель" содержит этот класс Java:

import org.child.Elaborate; 

public class App { 

    public static void main(String[] args) { 


    Elaborate elaborate = new Elaborate(); 

    System.out.println(elaborate.getStr()); 
    } 
} 

И этот pom.xml:

<?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>org.parent</groupId> 
    <artifactId>parent</artifactId> 
    <version>1.0-SNAPSHOT</version> 

    <dependencies> 

    <dependency> 
     <groupId>org.child</groupId> 
     <artifactId>child</artifactId> 
     <version>1.0-SNAPSHOT</version> 
    </dependency> 

    </dependencies> 

</project> 

Я открываю два проекта в двух отдельных окнах Intellij. То, что я пытаюсь сделать, - это отладка с обеих сторон.

Однако, если я запустил приложение с «родительским», я могу только отлаживать родителя. Если я поставлю точку останова в «дочернем», отладчик не останавливается на этом.

Любая идея о том, как я могу это сделать?

+0

Для отладки с зависимостями потребуется исходный код. Я не знаю о IntelliJ, но я думаю, что процесс идентичен. Вам нужно сообщить IntelliJ, какие исходные файлы соответствуют «child», а затем вы сможете разместить точки останова. –

+0

Пробовал ли вы с двумя проектами, открытыми в той же рабочей области в том же InteliJ? Пусть плагин IntelliJ maven выясняет, является ли модуль * child * источником родительской * зависимости. Я думаю, что это похоже на Eclipse – Laiv

+0

. Отметьте значок отладчика и выберите процесс. – Pomagranite

ответ

0

Я была такая же проблема, как вы я думаю:

У меня есть несколько пакетов Maven, которые являются отдельными «модулей» IntelliJ.

Чтобы отладить зависимость от maven, загрузите его как «модуль» в главное окно проекта «IntelliJ».

Файл> Структура проекта ...> Параметры проекта> Модули

Добавить> Импорт модуля

Теперь перейдите к ранее настройки пакета Maven, и выберите эту папку.

Выберите Импорт модуля из внешнего модуля> Maven

и убедитесь, что Импорт Maven проектов Автоматически выбран.

Теперь вы должны увидеть два «модуля» на боковой панели вашего проекта. Установите контрольную точку в одном из модулей зависимостей, а затем запустите> Отладить ваш основной модуль и он будет работать как ожидалось.

Смежные вопросы