1. 说在前面
最近和其他项目团队合作过程中,由于使用 idea 进行开发,之前也没有接触过太多,本着记录分享的心态,虽有此文。主要说两点:第一,使用 maven 构建项目的过程中,在 pom 文件引入项目其他模块也正在开发的 jar 包。但是相应的 jar 无法获取最新的依赖包; 第二,当项目pom 文件中依赖的包未打入最终的 war 包中。
2. 无法更新相应的 jar 依赖
由于是项目团队合作开发,对于其他的团队包依赖是不可避免的。如:
<dependency>
<groupId>com.telehot.dev</groupId>
<artifactId>web-common</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
在开发过程中发现,依赖包报错了,后来才发现依赖包的内容更新后,在程序引用新方法以后,直接报错,说找不到该方法。(通常发布新的包时,为了偷懒不会每次都去修改版本)
但是, idea 其实已经有相应的设置了,就想在使用 eclipse 时,可以强制更新。在 idea 中通过 File > Setting > Build, Execution, Deployment > Maven 中找到选项,找到相应的选项进行勾选,保存即可。

3. pom 中依赖 jar 未打入最终的 war 包
在开始之前,首先确认是否是依赖的 jar 包未打入 war 中;通过 File > Project Structure > Artifacts

找到项目输出地址, 根据下方的 WEB-INF / lib 中查找亦可,确定是否有相应的依赖包。若无添加指定的依赖包

由于项目依赖包最后打入项目的 WEB-INF/lib 目录下,所以这里的添加一定要选定文件夹再添加,否则达不到最终的要求。如果目标包不在步骤3中,可能是包不在 pom 依赖管理中。
到此,笔者的问题解决。
作者: 不狗言笑郑
时间: 2018-09-16
网友评论