pom.xml依赖报错,Missing artifact XXX 问题解决
eclipse导入或者新建Maven项目,pom.xml配置文件的报错,Missing artifact xxx-jar,问题即是Maven启动后,没有在指定仓库中找到该jar包。
可能原因
- 中心仓库或者本地仓库无此jar包;
- 有些jar包是收费的(比如:Oracle 的 ojdbc.jar 驱动包),Maven 中央库中实际上没有此资源,无法加载;
- pom.xml配置项不匹配。
pom.xml依赖项配置格式说明
// pom.xml <dependencies> <dependency> <groupId>Package1</groupId> <artifactId>jarName</artifactId> <version>versionInJar</version> </dependency> <dependency> <groupId>Package2</groupId> <artifactId>jarName2</artifactId> <version>1.0.0</version> </dependency> ...... </dependencies>
-
groupId :所依赖的jar包的相对路径,父子目录用“."注明(例:package.packageNext); artifactId:依赖的jar包名; version:依赖的jar包版本。
手动下载相应的jar,然后将其安装到本地仓库
- 下载相对应版本的jar包;
- 打开CMD,最好是在待安装路径下,打开(安装命令更便捷,直接在待安装路径地址栏,输入cmd,即可快速打开命令窗口);
- 此处安装以ojdbc14为例,打开cmd后输入命令如下:
mvn install:install-file -Dpackaging=jar -DgroupId=com.oracle -DartifactId=ojdbc14 -Dversion=11.2.0.3.0 -Dfile=ojdbc14-11.2.0.3.0.jar -DgeneratePom=true
命令解释: install:将项目进行编译并打包到本地仓库; install-file:安装文件; -DgroupId=com.oracle : 指定当前包的groupId为com.oracle; -DartifactId=ojdbc14 : 指定当前的artifactfactId为ojdbc14; -Dversion=11.2.0.3.0 : 指定当前包的版本为11.2.0.3.0; -Dfile=D:ojdbc14-11.2.0.3.0.jar : 指定要打的包的文件位置(之前之所以要在路径下打开cmd,就是免于输入过长路径); -DgeneratePom=true:是否生成pom文件。
- 打开eclipse中的Maven项目,在项目上点击右键Maven->update或者点开pom.xml文件,单击右键Maven->update for project。
pom.xml修改后
<dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc14</artifactId> <version>11.2.0.3.0</version> </dependency>
