我有一个模块化的maven项目。 在顶层,我得到了:
<modules>
<module>base</module>
<module>module1</module>
<module>module2</module>
<module>ear</module>
</modules>
基础模块被打包为jar。 module1和module2为war,依赖于基本模块。 Ear项目依赖于module1和module2并相应地打包它们。 module1和module2的pom完全相同!!
除了从eclipse部署到本地服务器之外,一切都很完美。问题是module2在已部署的ear的lib文件夹中缺少base.jar。然而,module1有它!如果我从命令行运行mvn install,它也包含在目标lib文件夹中!在eclipse中,所有依赖都被解决了!
我已经尝试了我能想到的一切:
到目前为止没有任何帮助。
干杯
编辑:
我做了一个令人恐惧的发现: 我添加了一个名为&#34; amodule&#34;的模块。猜猜是什么,它得到了所需的罐子而其他人没有。似乎只有按字母顺序排列的第一个模块才能获得jar,而其他模块则没有。
答案 0 :(得分:0)
我的解决方案是在包含基本模块的项目中取消选中“解析工作区依赖关系”。 (项目 - &gt;首选项 - &gt; maven - &gt;取消选中:解析工作区依赖项)
它带来了副作用:在调试过程中,base.jar的处理方式与模块中的外部jar一样。可以指定源代码路径,但我不能在基础项目中设置断点并等到调试器到达该行。