我正在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/classes
。 myproject
在Tomcat上运行,并且myproject-dep
是构建路径上的必需项目。
在这种情况下,我希望所有依赖项都按顺序排列,但是Catalina类加载器找不到myproject-dep
的类。如果我在运行配置中将这些显式添加到tomcat类路径中,则将无法从myproject-dep
中找到webapps的lib文件夹中明显存在的jar,从而导致失败。
我在这里错过了什么?
谢谢!
最佳答案
您说您正在使用Maven进行构建,但这听起来并不像您在用Maven打包战争。
如果您使用的是maven-war-plugin,它将在打包阶段将声明的依赖项拉入war。这也假设依赖项具有正确声明的范围,在您的情况下,这听起来像是默认的compile。