关于eclipse 在 web deployment assembly 引入了其它项目的jar不会打包的问题

问题截图:

这里配置了 bs-common项目,maven会自动判断如果工作空间有该引用就是直接打包项目,没有则引用仓库,由于我的工程中有bs-common项目,所以是直接引用打包,但是这里却不会自动打包。
解决方式1:
重启eclipse,把 bs-common 和 本项目全部删掉,重新从svn导入,正常。

解决方式2:
经过各种奇葩的测试,最终定位了该问题源,由于bs-common项目没有进行任何的修改java文件操作,也就导致了项目没有编译classes文件,导致主项目引入bs-common项目部署的时候会报bs-common/target/classes/META-INF/maven/..pom.xml不存在的问题,也就导致bs-common项目打包jar部署失败(这里的问题是由于bs-common target下面不存在classes的编译文件,凡是能构建出classes的操作都能解决这个问题)
解决
1.随便修改bs-common一个java文件让其生成classes结构(最优)
2.如果项目在没有修改任何java文件就deploy,这里同样也没有生成classes结构,最好在deploy之前执行package

然后在执行第1点,随便修改一个java文件生成classes目录结构

总之bs-common项目被其它项目引用必须首先要触发编译classes操作(参考以上2点),如果target/下面还没有classes的文件就会报错,要么需要重启eclipse删除项目重新导入
最后触发classes编译之后,注意打包jar的时候部署目录,其它项目引用bs-common项目打包成jar会参考配置部署目录进行jar打包,以下这个目录就是正常的


如上图配置

ps:解决方式首先参考解决2的2个方法,最终还是不行就参考解决方法1:放大招,重启eclipse删除项目重新导入


posted on 2021-02-25 16:34  signheart  阅读(438)  评论(0编辑  收藏  举报

导航