本地安装JAR包出现The goal you specified requires a project to execute的处理

  本文介绍在Windows 中,通过Mavenmvn install:install-file命令安装JAR 包时,提示The goal you specified requires a project to execute but there is no POM in this directory错误的解决方法。

  在Java 开发中,如果需要安装一些不在公共Maven 仓库中的第三方库时,或者需要在内网环境中安装库时,我们往往需要基于Mavenmvn install:install-file命令,将本地的.jar文件安装到本地的Maven 仓库中。但是,有时这样的操作就会出现类似The goal you specified requires a project to execute but there is no POM in this directory这样的报错提示信息。

  例如,我在电脑中的PowerShell 中,运行了如下所示的mvn install:install-file命令。

powershell 复制代码
mvn install:install-file -Dfile=E:\02_Project\202407_dzzt\fastMap_0914\fastMap-dzzt\server\lib\ojdbc7-12.1.0.2.jar -DgroupId=com.oracle -DartifactId=ojdbc7 -Dversion=12.1.0.2 -Dpackaging=jar

  随后,按下回车键,就出现了这个提示;如下图所示。

  其中,可以保证我这里的mvn install:install-file命令肯定是没问题的。经过不断尝试,随后终于发现问题所在。

  问题出在了运行命令的终端中。对于PowerShell ,如果需要运行mvn install:install-file命令,必须将其后的每一个参数,都用英文双引号 (也就是"")给包围起来,如以下代码所示。

powershell 复制代码
mvn install:install-file -Dfile="E:\02_Project\202407_dzzt\fastMap_0914\fastMap-dzzt\server\lib\ojdbc7-12.1.0.2.jar" "-DgroupId=com.oracle" "-DartifactId=ojdbc7" "-Dversion=12.1.0.2" "-Dpackaging=jar"

  其中,上述代码和本文开头的那句代码一模一样,唯一的不同就是每一个参数都用英文的双引号包围起来了。

  在PowerShell 中运行这个修改后的命令,发现此时就可以成功将本地的.jar文件安装到本地的Maven仓库中了,如下图所示。

  而如果大家是在cmd 中运行的mvn install:install-file命令,那么就不需要 在参数上加双引号了。

  例如,我换了本地的另一个.jar文件,然后在cmd中运行以下不带双引号的命令。

ini 复制代码
mvn install:install-file -Dfile=E:\02_Project\202407_dzzt\fastMap_0914\fastMap-dzzt\server\lib\gdal-3.8.2.jar -DgroupId=org.gdal -DartifactId=gdal -Dversion=3.8.2 -Dpackaging=jar

  运行上述代码,发现这个不带有双引号的命令也可以将本地的.jar文件安装到本地的Maven仓库中,如下图所示。

  所以,大家如果遇到本文的这个The goal you specified requires a project to execute but there is no POM in this directory错误,那么就可以根据自己所用终端的类型,尝试添加或删除参数上的双引号来解决问题。

  至此,大功告成。

相关推荐
AI人工智能+电脑小能手1 分钟前
【大白话说Java面试题 第113题】【并发篇】第13题:说一下乐观锁的优点和缺点?
java·开发语言·面试
Mahir084 分钟前
HashMap 底层原理深度解密:从数据结构到 JDK1.7/1.8 演进全解
java·后端·面试·hashmap
uhakadotcom6 分钟前
get_event_loop(),和 get_running_loop() + ThreadPoolExecutor 有啥区别
后端·面试·github
小马爱打代码7 分钟前
Spring Boot 自动装配流程
java·spring boot·后端
Cosolar11 分钟前
72小时生死时速:一文读懂引爆Fable模型禁令的越狱技术风暴
人工智能·后端·程序员
我登哥MVP12 分钟前
SpringCloud 核心组件解析:分布式配置管理
java·spring boot·分布式·spring·spring cloud·java-ee·maven
lihao lihao13 分钟前
linux线程
java·开发语言·jvm
满怀冰雪15 分钟前
第13篇-栈算法入门-括号匹配-表达式与单调栈基础
java·算法
我是一颗柠檬18 分钟前
【Java项目技术亮点】Redis Lua脚本原子化操作:高并发场景下的终极武器
java·redis·lua
swg32132120 分钟前
Redis实现主从选举
java·前端·redis