拉取新项目无法获取Nexus私服jar的问题

701 阅读1分钟

总结帮助同事解决Git拉取新项目,Build阶段出现找不到类、maven报红的问题。

问题出现的原因

无法通过pom文件中的坐标找到对应的jar或jar版本更新中导致所需class不存在,在Java代码中无法import。

  • 如果是maven公共仓库中的jar无法导入,可以修改pom文件的坐标参数<version>中的版本值更新即可。
  • 在Nexus私服中拉取的jar包与当前代码所需版本不一致时,可能出现无法引入所需类的问题。

若:在v 1.0版本中,工程1使用私服中2工程的A类,在v 2.0版本中,由于业务的变动,将2工程的A类的名称改成了B,那么在工程1中则无法正确引入所需的类。

解决方案

  1. 若工程2的开发者在修改代码后及时将依赖打包上传至私服,那么我们更新maven即可。
  2. 若工程2的开发者在修改代码后未及时上传私服,我们可以通过IDEA定位到该Jar所在的文件路径,将正确版本的代码打包后放置到本地maven仓库即可。复制完成后记得选择IDEA的Toggle Offline Mode,意为只刷新本地的jar,不去私服拉取,若不选则该模式,则会拉取私服中旧版本的jar包,无法解决问题。
  3. 方案2显然是怪味道的解决方案,最终解决方案是联系jar包提供者及时更新最新版本jar包到私服。

image-20220217205814520