Java 为什么在IntelliJ IDEA中将模块作为依赖项maven dependencies添加到其他模块时没有重用?

Java 为什么在IntelliJ IDEA中将模块作为依赖项maven dependencies添加到其他模块时没有重用?,java,maven,exception,intellij-idea,dependencies,Java,Maven,Exception,Intellij Idea,Dependencies,我一次开发2个模块,比如说Mod1和Mod2,Mod2是Mod1的依赖项。这两个都是基于maven的模块 因此,我将Mod2添加到Mod1的依赖项列表中,作为模块(它允许一起编译,并且每次在项目中更改某些内容时,我都不需要切换jar) 和Mod2使用了Gson库,但Mod1没有。所以它包含在Mod2pom文件中。 但是当我运行Mod1测试时,它显示它们失败了,因为 线程“main”java.lang.NoClassDefFoundError中的异常:com/google/gson/gson 所以

我一次开发2个模块,比如说
Mod1
Mod2
Mod2
Mod1
的依赖项。这两个都是基于maven的模块

因此,我将
Mod2
添加到
Mod1
的依赖项列表中,作为模块(它允许一起编译,并且每次在项目中更改某些内容时,我都不需要切换jar)

Mod2
使用了
Gson
库,但
Mod1
没有。所以它包含在
Mod2
pom
文件中。 但是当我运行Mod1测试时,它显示它们失败了,因为

线程“main”java.lang.NoClassDefFoundError中的异常:com/google/gson/gson

所以,如果我将这个库添加到
Mod1
pom文件中,错误似乎已经修复,但对于我来说,似乎完全不清楚为什么我需要添加它,为什么它不重用
Mod2
中的依赖项


你能告诉我怎么修理吗

你能添加整个堆栈跟踪吗?这可能是因为可传递依赖关系。这意味着Mod1的某些库也需要Gson库。错误出现在Mod2的代码中。在它应该在的地方。我想这是intellij的问题。似乎与此非常相似:您可以从命令行运行测试以排除intellij吗?比如“mvn测试”…请给我们看看你的POM文件。现在你正在描述你认为你的问题是什么。然而,您所描述的应该可以正常工作,IntelliJ中没有关于此行为的错误——我已经使用它和这个确切的场景多年了,所以您的POM中一定有与您描述不同的内容。