Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在maven解析其依赖关系之前,在本地maven中安装第三方jar?_Java_Maven_Jar_Installation_Pom.xml - Fatal编程技术网

Java 在maven解析其依赖关系之前,在本地maven中安装第三方jar?

Java 在maven解析其依赖关系之前,在本地maven中安装第三方jar?,java,maven,jar,installation,pom.xml,Java,Maven,Jar,Installation,Pom.xml,我正在从事一个多模块maven项目,有第三方jar,这在中央或公共存储库中是不可用的,我甚至不想把它放在公共回购上。我在我的父pom中提供以下插件指令,以便在子项目中解析jar的依赖关系之前,在本地maven存储库中安装jar 现在,我在子项目中提供依赖项作为 但是我构建了这个项目,它成功地在本地maven存储库中添加了依赖项(将第三方jar放在.m2文件夹中),但同时它给出了以下错误。看起来,它也在childprojects-libs文件夹中搜索这个jar文件,而我已经将它放在根目录中(在

我正在从事一个多模块maven项目,有第三方jar,这在中央或公共存储库中是不可用的,我甚至不想把它放在公共回购上。我在我的父pom中提供以下插件指令,以便在子项目中解析jar的依赖关系之前,在本地maven存储库中安装jar

现在,我在子项目中提供依赖项作为

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

我已经知道scope和systemPath选项,但出于某种原因我不想使用它。
请帮忙确定我遗漏了什么

如果您的项目有一个像nexus一样的集中式maven repo设置,那么最好的方法就是将您的第三方库也添加到repo中。现在,您正在将bin文件添加到您的项目中,这并不可取

如果您的项目代码下已经有了所需的jar,比如:
libs\*
,那么为什么您不能直接在
pom.xml
中引用依赖项,而不必在本地maven repo中安装它,然后使用它呢

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

任何东西
系统依赖性

因为您不想更改当前设置。关于maven pom结构,请记住以下几点:

项目聚合类似于项目继承。而不是 从模块中指定父POM,则指定模块 来自父POM。通过这样做,父项目现在知道了它的 如果对父项目调用Maven命令, 然后,该Maven命令将被执行到父模块,如下所示 嗯

因此,由于这个原因,您在main
pom.xml
中添加的
maven安装插件执行可能会触发所有模块。您可能希望将其移动到实际需要该库包含在.Read中的模块


相关:

我已经知道这个解决方案。但出于某种原因,我不想使用它。我已更新了答案。请共享您的pom文件以供进一步分析@touseefkhan4pkI已将插件指令移动到模块的pom,但现在它正试图从公共存储库下载该指令,并给出以下错误。无法解析project com的依赖项。myproject:.myproject:.cms:bundle:0.0.2-SNAPSHOT:找不到com。brightedge:be ixf java sdk jar with dependencies:jar:0.0.1-SNAPSHOT in已缓存在本地存储库中,在外部中心的更新间隔结束或强制更新之前,将不会重新尝试解析@touseefkhan4pk您能否在问题本身中添加更新的pom.xml。我本应编辑我的问题,但编辑错误了您的答案。
  <dependency>
      <groupId>anything</groupId>
      <artifactId>anything</artifactId>
      <version>anything</version>
      <scope>system</scope>
      <systemPath>${basedir}/lib/jar_name.jar</systemPath>
  </dependency>