我正在Eclipse中创建具有平坦层次结构的多模块项目:

¦ myproject-parent
¦-pom.xml
¦我的项目
¦-pom.xml
¦ myproject-dep
¦-pom.xml

在父pom引用了两个模块的情况下,myproject的依赖项具有myproject-dep,并且都注明了父级。项目和子项目的依赖项在Tomcat的web/WEB-INF/lib文件夹中完成。

myproject是一个(动态)Web项目,已编译的类进入myproject/web/WEB-INF/classes,而依赖项项目的类进入myproject-dep/target/classesmyproject在Tomcat上运行,并且myproject-dep是构建路径上的必需项目。

在这种情况下,我希望所有依赖项都按顺序排列,但是Catalina类加载器找不到myproject-dep的类。如果我在运行配置中将这些显式添加到tomcat类路径中,则将无法从myproject-dep中找到webapps的lib文件夹中明显存在的jar,从而导致失败。

我在这里错过了什么?
谢谢!

最佳答案

您说您正在使用Maven进行构建,但这听起来并不像您在用Maven打包战争。

如果您使用的是maven-war-plugin,它将在打包阶段将声明的依赖项拉入war。这也假设依赖项具有正确声明的范围,在您的情况下,这听起来像是默认的compile。

09-30 15:15
查看更多