Java Intellij-maven模块依赖性。NoClassDefFound错误

Java Intellij-maven模块依赖性。NoClassDefFound错误,java,maven,intellij-idea,Java,Maven,Intellij Idea,我创建了一个maven base项目,它有两个模块,a和B。在A中,我添加了B作为依赖项,还通过项目结构在B中添加了来自maven的JSoup 现在我想运行以下代码 A: public class A { public static void main(String args[]){ new B().foo(); } } public class B { public void foo() { System.out.println("B.

我创建了一个maven base项目,它有两个模块,
a
B
。在
A
中,我添加了
B
作为依赖项,还通过
项目结构在
B
中添加了来自maven的JSoup

现在我想运行以下代码 A:

public class A {
    public static void main(String args[]){
        new B().foo();
    }
}
public class B {
    public void foo() {
        System.out.println("B....");//prints B...
        new Document("S");// NoClassDefFoundError exception
    }
}
B:

public class A {
    public static void main(String args[]){
        new B().foo();
    }
}
public class B {
    public void foo() {
        System.out.println("B....");//prints B...
        new Document("S");// NoClassDefFoundError exception
    }
}
当我运行以下代码时,它会显示:

Exception in thread "main" java.lang.NoClassDefFoundError: org/jsoup/nodes/Document
Jsoup仅添加到
B.iml
而不是
B.pom
文件中:

<orderEntry type="library" exported="" name="org.jsoup:jsoup:1.8.3" level="project" />
A的pom

<?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">
    <parent>
        <artifactId>xxx</artifactId>
        <groupId>xxx</groupId>
        <version>0.5-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>A</artifactId>


</project>

xxx
xxx
0.5-1快照
4.0.0
A.
B的pom:

<?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">
    <parent>
        <artifactId>xxx</artifactId>
        <groupId>xxx</groupId>
        <version>0.5-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>B</artifactId>


</project>

xxx
xxx
0.5-1快照
4.0.0
B

您没有将B作为依赖项添加到a。为此,必须将a的pom.xml添加到此行

<dependencies>
    <dependency>
        <groupId>xxx</groupId>
        <artifactId>B</artifactId>
        <version>0.5-SNAPSHOT</version>
     </dependency>
</dependencies>

xxx

在A中,我添加了B作为依赖项

因此也需要将此依赖项添加到
的pom文件中

 <dependencies>
        <dependency>
            <groupId>xxx</groupId>
            <artifactId>B</artifactId>
            <version>0.5-SNAPSHOT</version>
        </dependency>

    </dependencies>
via项目结构


IntelliJ和Maven依赖关系管理互不相关。

您是否尝试过使用Maven时,在pom中声明依赖关系,而不是else@KarthikeyanVaithilingam是的,但还是有例外appears@Salvador你能发布你的pom.xml和module structure.AFAIK吗,另一种方法是,将maven项目导入intellij,以便从pom.xml更新项目文件(iml等)