我正在Eclipse中创建一个具有平面层次结构的多模块项目:
| myproject-parent | - pom.xml | myproject | - 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。
我错过了什么? 谢谢!
答案 0 :(得分:0)
你说你正在和maven一起建造,但听起来并不像是用maven包装你的战争。
如果您使用的是maven-war-plugin,那么当它经历打包阶段时,它已经将您声明的依赖关系拉入战争。这也假定依赖关系具有正确声明的范围,在您的情况下听起来像默认的编译。