错误“您指定的目标需要执行一个项目,但是在这个目录中没有 POM”在执行 maven 命令之后

我有一个 pom.xmlC:\Users\AArmijos\Desktop\Factura Electronica\MIyT\componentes-1.0.4\sources\pom.xml和我执行:

mvn install:install-file -DgroupId=es.mityc.jumbo.adsi -DartifactId=xmlsec-1.4.2-ADSI -Dversion=1.0 -Dpackaging=jar -Dfile=C:\Users\AArmijos\Desktop\Factura Electronica\MIyT\componentes-1.0.4\core\xmlsec-1.4.2-ADSI-1.0.jar

然而,它返回的错误如下:

[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.310s
[INFO] Finished at: Thu May 02 16:48:29 COT 2013
[INFO] Final Memory: 2M/15M
[INFO] ------------------------------------------------------------------------
[ERROR] The goal you specified requires a project to execute but there is no POM
in this directory (C:\Users\AArmijos). Please verify you invoked Maven from the
correct directory. -> [Help 1]

有人能解释一下为什么失败了吗?

302523 次浏览

这个链接帮助: https://stackoverflow.com/a/11199865/1307104

我通过像下面这样为每个参数添加引号来编辑我的命令:

Mvn install: install-file“-DgroupId = org.mozilla”“-DartifactId = jss”“-Dversion = 4.2.5”“-Dpacking= jar”“-Dfile = C: Users AArmijos workspace Component-1.0.4 deps jss-4.2.5.jar”

成功了。

请从 POM.XML 所在的目录运行它。

对于那些在 Windows 上遇到这种情况而且上述方法都不管用的人,可以尝试从 cmd.exe 运行它。通过 PowerShell 执行这些命令会导致每次安装失败。

mvn clean改为 mvn clean --file *.pom为我修复了这个问题。

在 Windows 上,在非管理员命令提示符下运行时出现此错误。当我以管理员身份运行此程序时,错误消失了。

“你指定的目标需要一个项目来执行”: 答案就在你的问题中。我也面临同样的问题。还要确保它是一个 maven 配置的项目,因此包含“ POM.xml”文件,您应该很好地去!

我在 Netbeans 中突然得到了这个错误(但它在命令行中工作) ,原来其他一些程序改变了命令提示符的默认目录。由于 Netbeans 在调用 maven 时运行“ cmd/c”,因此它从一个不正确的目录开始。

在 Regedit 中检出

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\Autorun

如果它已经被设置,你可能应该删除它来修复问题

(当我试图解决这个问题时,我来到了这里,可能不是100% 适用于当前的问题-但可能会帮助其他人)

在 Windows7 中更改命令提示符的默认启动目录

在项目文件中创建一个 lib 文件夹,

2. 将 jarFiles 复制到 lib 文件夹

3.右键单击 jarFile 转到 build path > Add to build path (现在 jar 文件是引用库的一部分)

4. 打开命令提示符,导航到项目目录并写入

mvn install: install-file "-Dfile=<yourJarFileName>.jar" "-DgroupId=<yourGroupID>" "-DartifactId=<yourArtifactId>" "-Dversion=<yourVersion>" "-Dpackaging=jar"

6. 通过在 eclipse- 中打开重新构建本地存储库索引 转到 window > show view > other > maven > maven Repositories。 右键单击本地存储库并点击“ RebuildIndex”

5. 打开 pom.xml 文件并添加依赖项

    <dependency>
<groupId><yourGroupID></groupId>
<artifactId><yourArtifactId></artifactId>
<version><yourVersion></version>
</dependency>

然后逃跑

mvn clean
mvn compile
mvn test

为 Windows 用户添加一个更多的答案。如果这些都不能解决问题。

不要在 =之前或之后添加 space

-DgroupId= com.company.module //Wrong , Watch the space after the equal to
-DgroupId=com.company.module //Right

最好把所有东西都放在双引号里,比如“-DgroupId = com. .” 这将给你准确的错误,而不是一些随机的错误。

奇怪的是 Maven 甚至都不愿意在文档中提到这一点。

在 Windows 中,当您使用 PowerShell 时,您必须将所有参数用引号括起来。

因此,如果你想创建一个专业的 webapp 原型,你可以这样做:

先决条件:

  1. 确保你已经安装了 maven 并且把它放在你的 PATh 环境变量中。

如何:

  1. 打开 Windows PowerShell
  2. Mkdir MyWebApp
  3. 我的网络应用程序
  4. Mvn 原型: 生成“-DgroupId = com.javan.dev”“-DartifactId = MyWebApp”“-DarchetypeArtifactId = maven-archetype-webapp”“-DinteractiveMode = false”

enter image description here

注意: 这只能在 Windows10Powershell 上测试

  • 执行 Maven 命令需要 pom.xml 文件,其中包含有关项目的信息以及 Maven 用于构建项目的配置细节。它包含大多数项目的默认值。

  • 确保该项目应该在根级别包含 pom.xml。

在我的例子中,这是因为我从浏览器中复制了粘贴的命令,结果发现破折号不是 ASCII 破折号,只是删除并再次键入破折号。

Http://www.toptip.ca/2017/04/maven-most-weird-error-causing-failure.html

添加 pom.xml 文件所在的 Jenkinsfile。 在 dir (‘ project-dir’)上提供目录路径,

例如:

node {


withMaven(maven:'maven') {


stage('Checkout') {
git url: 'http://xxxxxxx/gitlab/root/XXX.git', credentialsId: 'xxxxx', branch: 'xxx'
}


stage('Build') {


**dir('project-dir') {**
sh 'mvn clean install'


def pom = readMavenPom file:'pom.xml'


print pom.version
env.version = pom.version
}
}
}
}

检查文件的名称,即 pom.xml 文件拼写正确,文件扩展名为 . xml

此错误的示例如下

Pom Pm.xl

如果使用类 Unix 操作符系统,则 Maven 路径配置可能存在问题。

步骤1: 在路径 ~/.bash_profile中创建新文件

JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home
CLASSPAHT=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$PATH:
export JAVA_HOME
export CLASSPATH
export PATH

步骤2: shell 运行 source ~/.bash_profile或修改 zsh 配置文件(添加新行: source ~/.bash_profile)

注意你的参数/命令中的任何空格或错误。Mvn 错误消息可能没有那么具有描述性,但我已经意识到,通常空格/省略也会导致这种错误。

在从 jboss 仓库下载了一份拷贝之后,我试图安装 java jms-1.1. jar。

遇到完全相同的错误,特别是在 Windows 上。尝试了所有方法,比如更改了 maven 版本/jdk 版本,但没有效果。

我正在使用下面的命令。

mvn install:install-file -DgroupId=javax.jms -DartifactId=jms -Dversion=1.1 -Dpackaging=jar -Dfile=jms-1.1.jar

最后,从主问题的注释中选择一个 que,并将每个参数值放在双引号中

mvn install:install-file -DgroupId="javax.jms" -DartifactId="jms" -Dversion="1.1" -Dpackaging="jar" -Dfile="jms-1.1.jar"

这解决了问题。这个问题似乎是特定于 Windows 环境的。在 ubuntu 和 mac 上,这个命令没有任何问题。

我只是像这样添加了 pom.xml 的路径 mvn -f path/to/pom.xml <goals> ... 对我很有效

可能有一些特殊字符添加到您的命令,如’-’U+2013U+002d

请删除特殊字符并尝试命令

完全正确(使用 PowerShell 时需要加引号)。当我运行该命令并在带点的参数周围加上引号时,它就可以工作了。不要输入1.4,你应该输入“1.4”

第一次:

Mvn 原型: create-DgroupId = com.mycompany.app-DartifactId = my-app-DarchetypeArtifactId = maven-archetype-Quick start-DarchetypeVersion = 1.4-DinteractiveMode = false

错误: [错误]您指定的目标需要一个项目来执行,但是在这个目录中没有 POM (C: Users jcrojas OneDrive-Superfinera Personal Aprendizaje Maven test)。请验证您从正确的目录调用了 Maven。- > [求助1]

第二次:

Mvn 原型: create-DgroupId = “ com.mycompany.app”-DartifactId = my-app-DarchetypeArtifactId = maven-archetype-Quick start-DarchetypeVersion = “1.4”-DinteractiveMode = false

建立成功。

如果使用 Windows 命令行 CMD 运行该命令,则该命令也可以工作。在这种情况下,不需要引号。