在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.jar1
和edu.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工件中。
非常感谢!
- 首先尝试使用下面的命令将这两个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
-
然后使用常规
Maven
标记your.groupId your-artifactId your-version
假设:您正在使用Windows
并且您的jar1和jar2位于C:\ Users \ yourusername文件夹中
-
设置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
-
手动创建文件夹C:\ local_maven_repo然后编辑编辑文件
C:\ apache-maven-3.3.9 \ conf \ settings.xml如下
-
运行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
- 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\
- 打开文件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