Maven多工程依赖在Eclipse中发布到Server被依赖工程没有生成jar的问题

问题描述:

Eclipse上的maven项目,A工程依赖B工程(dependency),A项目作为web工程发布到Server(tomcat类型Server)上,结果B项目没有生成jar,打包到A项目的lib中。


解决思路:
1. 怀疑依赖语法写的有问题。尝试直接maven打包,B工程能够正确生成jar,打包到A工程的lib下,并且不依赖Eclipse,单独发布A.war是没问题的。

2. 再仔细对比之前一个项目的多工程依赖,发现本项目的B工程在Eclipse的Server中,显示的小瓶子右下角有个小球,而之前项目的B工程没有小球。该小球(应该是地球的模型)表示该工程为 Dynamic Web Module,这种工程可以作为一个web工程单独发布。

3. 想办法将B工程恢复为普通Java工程。右键B工程,选properties,选“Project Facets”,将“Dynamic Web Module”复选框取消勾选,并勾选“Java”(默认是勾选了的)和“Utility Module”(经测试,该项可以不勾选)。然后clean一把工程,再次检查Eclipse的Server,A工程内的lib下已经正确包含了B.jar,问题解决。


这里的A工程是对外工程,一般是web类型的,B工程是服务工程,是实现内部业务功能的,设计的时候是普通java工程。正常顺序创建工程的时候,只要按类型创建不会碰到这个问题,有时候使用一些工具会自动生成项目骨架工程结构,就有可能都创建的是web工程。


你可能感兴趣的:(Maven多工程依赖在Eclipse中发布到Server被依赖工程没有生成jar的问题)