当前位置: 首页 > 知识库问答 >
问题:

在maven解决其依赖性之前在本地maven中安装第三方jar?

时向文
2023-03-14

我在一个多模块的maven项目上工作,并有第三方jar在中央或公共存储库中不可用,我甚至不想放在公共Repo上。我在父pom中提供以下插件指令,以便在子项目中解决jar的依赖性之前,在本地maven存储库中安装jar。

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

但是我构建了这个项目,它成功地在本地maven存储库中添加了依赖项(将第三方jar放在。m2文件夹中),但同时它也给出了以下错误。看起来,它也在子项目libs文件夹中搜索这个jar文件,而我已经将它放置在root(在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.

共有1个答案

龙令
2023-03-14

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

如果您已经在like:libs\*中的项目代码下面有了所需的jar,那么为什么不能直接在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>

在项目目录中提供依赖项的位置可以在构建过程中解决它。

因此,由于这个原因,您在mainpom.xml中添加的maven-install-plugin执行可能会触发所有模块。您可能希望将其移动到实际需要将此lib包含在.read maven doc中的模块中。

相关:强制Maven将依赖项复制到target/lib中

 类似资料:
  • 问题内容: 我有一个带有内部jar文件的项目内仓库的Maven项目。我使用install命令将jar文件安装到内部注入存储库中,当我在存储库中签入安装jar文件时,我还在pom文件中添加了依赖项配置。但是当我运行mvn编译文件时。我收到mvn无法解决依赖关系的错误 这是Pom片段: 这是POM中的依赖 这是错误消息: [INFO]最终内存:6M / 309M 是否有人对此错误有任何建议。 这是使用

  • null lib-ThirdPartyProject1.jar-ThirdPartyProject2.jar-ThirdPartyProject3.jar wrapperproject.jar-project1.jar-project2.jar-project3.jar

  • maven jetty插件有这个错误。我认为出现这个问题是因为插件的传输依赖性与新库冲突。这个错误出现在我将jersey1更改为jersey2并从com更改所有依赖项之后。sun到org。glassfish用于服务器客户端/核心/rs ws等。 等等 有人能回答如何避免这种错误吗?谢谢。 更新1:http://pastebin.com/ag2zdiSH链接到完整的pom

  • 在感觉自己已经掌握了如何使用OSGi之后,我尝试向我的应用程序添加第三方依赖,特别是log4j2,该应用程序使用ApacheFelix并与maven捆绑插件捆绑。不幸的是,我似乎陷入了依赖地狱。 我尝试过使用许多maven捆绑包策略,如导入包,嵌入依赖,wrapImportPackage,Embed-Transitive,以及设置特定的版本号,仅举几例。以下是我的pom在这个插件中的样子: 我觉得

  • 我们有一个项目a依赖于项目B,项目B依赖于图书馆C。a和B是本地项目,而C是maven central repo的公共图书馆。 波姆。xml用于: 波姆。用于B的xml: 在A中运行mvn dependency:tree-Dverbose时,它不会解析B的依赖项,B中使用的此类依赖项也不会显示在A的Maven依赖项中。这对于编译很好,但在运行时会因为NoClassDefFound错误而失败。 有没

  • 我正在尝试解决我的eclipse项目中的maven依赖项。 依赖项已经下载到我的maven dependencies文件夹中(如下所示) 然而,import语句仍然没有解析。 在我的java构建路径中,存在Maven Dependencies文件夹。 到目前为止,我已经尝试在命令行上重建项目并在eclipse中刷新它;我尝试在eclipse中重建它;我尝试在eclipse中更新项目。 似乎什么都没