在maven项目中包含本地jar文件 – 找不到文件

所以我试图将两个本地jar文件包含到我拥有的Maven项目中,但没有这样做。 我已经尝试过在这些线程中完成解决方案: 1 2但它仍然没有真正起作用。 以下是我的pom.xml文件的关键部分:

 local-maven-repo file://${basedir}/resources  

然后依赖:

   edu.mlab.jar1 jar1_local 1.0   edu.mlab.jar2 jar2_local 1.0  

这两个jar文件分别包含edu.mlab.jar1edu.mlab.jar2包声明,所以这就是我想要它们的地方。 jar文件位于resources文件夹中,位于基目录下。

这就是设置。 现在,当我尝试mvn package (在mvn clean )时,我收到以下错误

[ERROR] Failed to execute goal on project PROJECT: Could not resolve dependencies for project edu.mlab.project:PROJECT:war:1.0-SNAPSHOT: The following artifacts could not be resolved: edu.mlab.jar1:jar1_local:jar:1.0, edu.mlab.jar2:jar2_local:jar:1.0: Failure to find edu.mlab.jar1:jar1_local:jar:1.0 in file:///Users/mlab/Desktop/2016/project_web/resources was cached in the local repository, resolution will not be reattempted until the update interval of local-maven-repo has elapsed or updates are forced -> [Help 1]

因为我的jar1和jar2正好在资源文件夹中,所以我不确定会出现什么问题。 此外,我已尝试使用系统范围导入它们的方法,但这不适用于我的目的,因为我希望它们包含在war工件中。

非常感谢!

  1. 首先尝试使用下面的命令将这两个jar文件安装到Maven的本地存储库中

 mvn org.apache.maven.plugins:maven-install-plugin:2.5.2:install-file -Dfile=path-to-your-artifact-jar \ -DgroupId=your.groupId \ -DartifactId=your-artifactId \ -Dversion=version \ -Dpackaging=jar \ -DlocalRepositoryPath=path-to-specific-local-repo 

参考url: http : //maven.apache.org/plugins/maven-install-plugin/examples/specific-local-repo.html

注意:您的本地Maven存储库在安装$ M2_HOME \ conf \ settings.xml中指定,例如

 C:\local_maven_repo 
  1. 然后使用常规Maven标记

      your.groupId your-artifactId your-version  

假设:您正在使用Windows并且您的jar1和jar2位于C:\ Users \ yourusername文件夹中

  1. 设置M2_HOME环境变量,例如

    C:\Users\yourusername>set M2_HOME=C:\apache-maven-3.3.9 C:\Users\yourusername>echo %M2_HOME% C:\apache-maven-3.3.9

  2. 手动创建文件夹C:\ local_maven_repo然后编辑编辑文件

    C:\ apache-maven-3.3.9 \ conf \ settings.xml如下 在此处输入图像描述

  3. 运行mvn命令将jar1和jar2安装到C:\ local_maven_repo中,例如

C:\Users\yourusername>mvn org.apache.maven.plugins:maven-install-plugin:2.5.2:install-file -Dfile=jar1.jar -DgroupId=edu.mlab -DartifactId=jar1 -Dversion=1.0 -Dpackaging=jar -DlocalRepositoryPath=C:\local_maven_repo

C:\Users\yourusername>mvn org.apache.maven.plugins:maven-install-plugin:2.5.2:install-file -Dfile=jar2.jar -DgroupId=edu.mlab -DartifactId=jar2 -Dversion=1.0 -Dpackaging=jar -DlocalRepositoryPath=C:\local_maven_repo

  1. validationjar1和jar2是否在C:\ local_maven_repo中,例如

C:\Users\yourusername>dir C:\local_maven_repo\edu\mlab\jar1\1.0\

C:\Users\yourusername>dir C:\local_maven_repo\edu\mlab\jar2\1.0\

  1. 打开文件C:\ local_maven_repo \ edu \ mlab \ jar1 \ 1.0 \ jar1-1.0.pom,和C:\ local_maven_repo \ edu \ mlab \ jar2 \ 1.0 \ jar2-1.0.pom

file:C:\ local_maven_repo \ edu \ mlab \ jar1 \ 1.0 \ jar1-1.0.pom

  edu.mlab jar1 1.0 

file:C:\ local_maven_repo \ edu \ mlab \ jar2 \ 1.0 \ jar2-1.0.pom

  edu.mlab jar2 1.0 

复制以下内容并将它们包含在您的pom.xml中,如下所示

  edu.mlab jar1 1.0   edu.mlab jar2 1.0