调试 Maven 依赖项

use*_*212 5 java debugging maven

项目“child”包含一个java类:

package org.child;

public class Elaborate {

    public String getStr() {
    return "hello";
    }
}
Run Code Online (Sandbox Code Playgroud)

还有这个 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>
Run Code Online (Sandbox Code Playgroud)

项目“parent”包含这个java类:

import org.child.Elaborate;

public class App {

    public static void main(String[] args) {


    Elaborate elaborate = new Elaborate();

    System.out.println(elaborate.getStr());
    }
}
Run Code Online (Sandbox Code Playgroud)

还有这个 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>
Run Code Online (Sandbox Code Playgroud)

我将这两个项目打开到两个单独的 Intellij 窗口中。我想做的是两边调试。

但是,如果我使用“父级”运行应用程序,则只能调试父级。如果我在“子”中放置断点,调试器不会在那里停止。

关于我该怎么做有什么想法吗?

com*_*day 2

我和你有同样的问题,我想:

我有多个 Maven 包,它们是单独的 IntelliJ“模块”。

为了调试 Maven“依赖项”,请将其作为“模块”加载到主 IntelliJ“项目”窗口中。

文件 > 项目结构... > 项目设置 > 模块

添加>导入模块

现在导航到之前设置的 Maven 包,然后选择该文件夹。

选择从外部模块导入模块 > Maven

并确保选择“自动导入 Maven 项目” 。

您现在应该在项目的侧栏中看到两个“模块”。在依赖模块之一中设置断点,然后运行 ​​> 调试主模块,它应该按预期工作。