我正在开发一个多模块Maven项目,并且拥有第三方jar,该jar在中央或公共存储库中不可用,我什至也不想放在公共仓库中。我在父pom中提供以下插件指令,以在子项目中解决其依赖关系之前在本地maven存储库中安装jar。
现在我在子项目中提供依赖项;
但是我构建了项目,它成功地在本地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.
请帮助您识别我所缺少的东西?
如果您的项目具有集中式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系统依赖项。