环境{git, maven, spring3, tomcat7, STS3.2/Eclipse4.2}
Maven项目具有以下结构
Base
--CoreApi
--CoreImpl
--ModuleBase
----ModuleApi
----ModuleImpl
----ModuleWeb
ModuleWeb 对 CoreApi (jar)、ModuleApi (jar) 和 ModuleImpl (jar) 有编译时依赖。
当我将 ModuleWeb 发布到 tomcat(使用 STS)并启动 tomcat 时,我看到ModuleImpl 没有复制到 WEB-INF/lib文件夹,最终导致 ClassNotFound 类异常。然而 ModuleApi 和 CoreApi 被复制到库中。这就是问题所在!
值得一提的是,我当然可以maven clean install
从终端毫无问题地进行操作,并且它成功地生成了 jars 和 war。
在 STS > ModuleWeb 的项目属性 > 部署程序集
构建路径顺序和导出如下所示:
当然,如果我手动将 ModuleImpl 复制到 WEB-INF/lib,一切正常,但是,这不是应该的。那么,有什么线索吗?
git rm -r --cached
话虽如此,在我不得不在 .gitignore 中进行一些与 git 相关的更改以添加 .settings 和 .classpath并进一步执行git add .
一系列项目清理、提交和从终端安装 maven之前,一切正常。我觉得有些事情搞砸了。