在Maven解决依赖关系之前在本地Maven中安装第三方jar?

问题描述 投票:0回答:1

我正在开发一个多模块Maven项目,并且拥有第三方jar,该jar在中央或公共存储库中不可用,我什至也不想放在公共仓库中。我在父pom中提供以下插件指令,以在子项目中解决其依赖关系之前在本地maven存储库中安装jar。

enter image description here

现在我在子项目中提供依赖项;

enter image description here

但是我构建了项目,它成功地在本地maven存储库中添加了依赖关系(将第三方jar放在.m2文件夹中),但同时却出现以下错误。看起来,它也在子项目libs文件夹中搜索了这个jar文件,而我已经将其放在根目录(在myproject.parent / libs中)中。

 Failed to execute goal org.apache.maven.plugins:maven-install-plugin:3.0.0-M1:install-file (install- 
 external-non-maven1-jar) on project myProject.core: The specified file 'C:\Users\myuser\git\MyProjectRepository\myproject.parent\myproject.core\libs\be-ixf-java-sdk-jar-with-dependencies.jar' not exists.

请帮助您识别我所缺少的东西?

java maven jar install pom.xml
1个回答
0
投票

如果您的项目具有集中式Maven存储库(例如nexus设置),最好的方法是将第三方库也添加到该存储库中。现在,您已将bin文件添加到您的项目中,这不是可取的。

如果您在项目代码下已经具有所需的jar,例如:libs\*,那么为什么不能直接在pom.xml中引用依赖项,而不必将其安装在本地Maven存储库中然后使用它。

  <dependency>
      <groupId>anything</groupId>
      <artifactId>anything</artifactId>
      <version>anything</version>
      <scope>system</scope>
      <systemPath>${basedir}/lib/jar_name.jar</systemPath>
  </dependency>

在项目目录中提供依赖项的位置应在构建自身时解决它。请查看Maven系统依赖项。

相关:force Maven to copy dependencies into target/lib

© www.soinside.com 2019 - 2024. All rights reserved.