项目“child”,包含一个java类:
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>
项目“parent”包含此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窗口。我要做的是双方调试。
但是,如果我使用“父”运行应用程序,我只能调试父级。如果我在“子”中放置一个断点,调试器就不会停在那里。
关于我怎么做的任何想法?
我和你想的一样有同样的问题:
我有多个maven包,它们是独立的IntelliJ'模块'。
为了调试maven'依赖',将它作为'模块'加载到主IntelliJ'Project'窗口中。
文件>项目结构...>项目设置>模块
添加>导入模块
现在导航到之前设置的maven包,然后选择该文件夹。
从外部模块> Maven中选择导入模块
并确保选中自动导入Maven项目。
您现在应该在项目的侧边栏中看到两个“模块”。在其中一个依赖项模块中设置断点,然后运行>调试主模块,它应该按预期工作。