首先,出现"Could not find artifact"错误提示通常是因为Maven从中央仓库找不到对应的依赖。
要解决此问题,我们可以将需要依赖的jar包手动下载到本地,并将其安装到Maven本地仓库中。
以下是完整攻略:
第一步:下载需要的jar包
- 在官方网站或者其他可信赖的网站上下载需要的jar包
- 如果网站提供了md5或sha1值,请进行验证以确保下载的jar包是完整的
- 下载完成后,将jar包复制到本地某一目录下,例如我将其复制到了
~/Downloads/
目录下
第二步:安装jar包到Maven本地仓库
- 使用命令行进入到jar包所在的目录下,我的目录是
~/Downloads/
- 执行以下命令:
mvn install:install-file \
-Dfile=<path-to-file> \
-DgroupId=<group-id> \
-DartifactId=<artifact-id> \
-Dversion=<version> \
-Dpackaging=<packaging> \
-DlocalRepositoryPath=<path-to-local-repo>
其中,<path-to-file>
是jar包的完整路径;<group-id>
是jar包的groupId;<artifact-id>
是jar包的artifactId;<version>
是jar包的版本号;<packaging>
是jar包的封装格式,例如jar
;<path-to-local-repo>
是Maven本地仓库的完整路径(如果不指定,则默认使用~/.m2/repository
)
- 例如,我希望安装的jar包为
example.jar
,groupId为com.example
,artifactId为example
,version为1.0.0
,那么我执行的命令如下:
mvn install:install-file \
-Dfile=example.jar \
-DgroupId=com.example \
-DartifactId=example \
-Dversion=1.0.0 \
-Dpackaging=jar \
-DlocalRepositoryPath=~/maven_repository
这条命令将会把jar包安装到~/maven_repository/com/example/example/1.0.0
路径下,同时在Maven的本地仓库中生成相关的元数据记录
第三步:使用本地仓库中的jar包
- 在Maven项目的pom.xml文件中加入以下配置:
<repositories>
<repository>
<id>local-repo</id>
<url>file://${user.home}/maven_repository</url>
</repository>
</repositories>
其中,<id>
指定本地仓库的名称,<url>
指定本地仓库的路径
- 通过
<dependency>
标签引入需要的jar包
例如:
<dependency>
<groupId>com.example</groupId>
<artifactId>example</artifactId>
<version>1.0.0</version>
</dependency>
这样,当Maven打包或者编译项目时,会自动从本地仓库获取对应的jar包来使用。
以下是一个示例:
-
下载一个jar包
commons-lang3-3.12.0.jar
,将其复制到~/Downloads/
目录下 -
执行以下命令安装到Maven的本地仓库:
mvn install:install-file \
-Dfile=~/Downloads/commons-lang3-3.12.0.jar \
-DgroupId=org.apache.commons \
-DartifactId=commons-lang3 \
-Dversion=3.12.0 \
-Dpackaging=jar \
-DlocalRepositoryPath=~/maven_repository
- 在Maven项目的
pom.xml
文件中加入以下配置:
<repositories>
<repository>
<id>local-repo</id>
<url>file://${user.home}/maven_repository</url>
</repository>
</repositories>
- 通过
<dependency>
标签引入commons-lang3-3.12.0.jar
:
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.12.0</version>
</dependency>
这样,就可以在项目中使用commons-lang3-3.12.0.jar
了。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:maven导入本地仓库jar包,报:Could not find artifact的解决 - Python技术站