【发布时间】:2013-06-07 12:08:41
【问题描述】:
环境{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 的项目属性 > Deployment Assembly
构建路径顺序和导出如下所示:
当然,如果我手动将 ModuleImpl 复制到 WEB-INF/lib,一切正常,但是,这不是应该的。那么,有什么线索吗?
话虽如此,在我不得不在 .gitignore 中进行一些与 git 相关的更改以添加 .settings 和 .classpath 并进一步执行 git rm -r --cached 和 git add . 之前,一切正常,还有一系列项目清理、提交和 Maven 从终端安装。我认为有些事情搞砸了。
【问题讨论】:
标签: eclipse spring maven tomcat