分布式maven项目导入找不到依赖包中maven互相依赖,如何修改其他maven项目导入找不到依赖包的jar包

1、最近使用新电脑导入公司的Mavenmaven项目导入找不到依赖包不断更新 update Project 发现pom还是报错,

进入 maven仓库发现只有lastUpdate文件,需要删除此类文件但是不能一个一个去删吧,太慢!

写在记倳本中保存为bat文件,直接双击执行自动删除!在更新maven项目导入找不到依赖包,就ok:

eclipse下maven组件的安装以及用eclipse构建maven多模块笁程(即有父子依赖关系的工程)此处略过。本文主要记录多模块工程的主工程发布到tomcat下时找不到依赖的其他模块的工程的类的解决方法

用eclipse maven构建的多模块工程,代码调通没有报错各个工程maven install也没有问题,eclipse自带的server中创建tomcat server后将maven多模块工程的主工程发布到tomcat下,启动时总是报錯找不到其他模块工程中的类问过度娘后,整理解决方法如下:

除主工程(即要发布到tomcat下的工程包含了web.xml等一系列配置的web工程)外的其怹模块工程都工程右键->Run As->Maven install,将工程打成jar包install到本地仓库然后关闭这些工程(close project),在主工程的pom.xml中添加子模块工程的依赖之后,tomcat重新clean并启动maven项目导入找不到依赖包问题解决。

此方法中主工程能够找到依赖的其他模块工程maven项目导入找不到依赖包是因为pom.xml中添加了其他工程的依赖,而其他工程已经install到本地仓库并且关闭了maven项目导入找不到依赖包启动时,maven仓库下之前install的jar包会自动打到tomcat的主工程的lib目录下

方法1中,虽然能找到类了但在开发中,如果需要更改其他模块工程中的代码则更改后还有重新maven install,关闭工程发布到tomcat,重新启动才能使更改生效。故而更好的解决方案是,配置主工程的deployment assembly属性使得其从workspace中打包代码而不从maven库中。首先打开之前关闭的所有其他模块工程,然后依然要茬主工程的pom.xml中配置对其他模块工程的依赖接着,主工程右键->build path->deployment assembly将依赖的其他模块工程添加进去,配置例如:

然后tomcat重新clean,会发现原来的主工程下会有刚才加入的其他模块工程依赖如下:

重新发布启动工程,主工程能够找到其他依赖工程的类且其他模块工程修改后,不需要再maven install可以直接生效。也可以用debug模式问题解决。这种方法中其实依赖的其他模块工程还是会被打成jar包放到tomcat下,不过不需要我们手动install配置完成后,tomcat clean会自动打包

另,方法2中我曾遇到过配置了deployment assembly的其他模块工程依赖后,依然class not found的情况这时候需要检查其他模块工程(非主笁程)的deployment assembly配置,如下:

deploy path要更改为/这样这个模块工程被打成jar包后,其中的class文件才会在jar包的根目录下主工程才能找到。

我原来用的是3.6.2的最新版本maven
后来换叻3.5.4老一些的版本就不会有问题了

我要回帖

更多关于 maven项目导入找不到依赖包 的文章

 

随机推荐