139

我有一个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]

有人可以解释为什么它失败了吗?

4

17 回答 17

237

此链接有帮助:https ://stackoverflow.com/a/11199865/1307104

我通过为每个参数添加引号来编辑我的命令,如下所示:

mvn install:install-file "-DgroupId=org.mozilla" "-DartifactId=jss" "-Dversion=4.2.5" "-Dpackaging=jar" "-Dfile=C:\Users\AArmijos\workspace\componentes-1.0.4\deps\jss-4.2.5.jar"

它奏效了。

于 2013-05-02T23:01:53.673 回答
55

对于在 Windows 上遇到此问题且上述方法均无效的任何人,请尝试从 cmd.exe 运行它。通过 PowerShell 执行这些命令会导致安装每次都失败。

于 2015-08-19T00:45:30.267 回答
48

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

因此,如果您想创建一个 maven webapp 原型,您可以执行以下操作:

先决条件:

  1. 确保您已安装 maven 并将其放在 PATH 环境变量中。

如何:

  1. 打开windows powershell
  2. mkdir MyWebApp
  3. cd MyWebApp
  4. mvn archetype:generate "-DgroupId=com.javan.dev" "-DartifactId=MyWebApp" "-DarchetypeArtifactId=maven-archetype-webapp" "-DinteractiveMode=false"

在此处输入图像描述

注意:这仅在 windows 10 powershell 上测试

于 2017-10-20T08:56:52.380 回答
12

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

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

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

最好将所有内容都放在双引号中,例如“-DgroupId=com..”,这将为您提供确切的错误,而不是一些随机错误。

奇怪的是,maven 甚至不在乎在文档中提及这一点。

于 2017-03-22T05:33:16.873 回答
6

就我而言,这是因为我从浏览器复制粘贴了命令,结果发现破折号不是 ASCII 破折号,只需删除并再次输入破折号。

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

于 2018-02-07T07:57:12.053 回答
1

从 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

最后从主要问题的评论中取出一个问题,并将每个参数值放在双引号内

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

这解决了问题。这个问题似乎非常特定于 Windows 环境。在 ubuntu 和 mac 上,该命令可以正常工作。

于 2021-12-27T05:41:17.647 回答
1

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

于 2015-10-27T23:41:21.613 回答
1

1.在你的项目文件中创建一个lib文件夹,

2.将您的 jarFiles 复制到 lib 文件夹

3.右键单击您的 jarFile 转到构建路径>添加到构建路径(现在您的 jar 文件是您引用的库的一部分)

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

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

6.通过在eclipse中打开来重建本地存储库索引-转到窗口>显示视图>其他>maven>maven存储库。右键单击本地存储库并点击“RebuildIndex”

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

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

并运行

mvn clean
mvn compile 
mvn test 
于 2016-08-04T14:46:03.640 回答
1

更改mvn cleanmvn clean --file *.pom我解决了这个问题。

于 2015-09-12T06:58:10.663 回答
0

我在 Netbeans 中突然遇到了这个错误(但它可以从命令行运行),结果发现其他一些程序已经更改了命令提示符的默认目录。并且因为 Netbeans 在调用 maven 时运行“cmd /c”,所以它在不正确的目录中启动。

在 Regedit 中签出值

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\Autorun  

如果已设置,您可能应该将其删除以解决问题。(1)

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

(1) 更改 Windows 7 命令提示符的默认启动目录

于 2016-04-02T18:02:15.653 回答
0
  • maven 命令的执行需要 pom.xml 文件,该文件包含有关项目的信息和 Maven 用于构建项目的配置详细信息。它包含大多数项目的默认值。

  • 确保 porject 应在根级别包含 pom.xml。

于 2017-10-20T11:00:22.693 回答
0

Maven 路径配置可能存在问题,如果您使用的是类 unix 操作员系统。

步骤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:)

于 2020-07-15T07:11:44.983 回答
0

请注意参数/命令中的任何空格或错误。mvn 错误消息可能不是那么具有描述性,但我已经意识到,通常空格/遗漏也会导致该错误。

于 2020-12-27T11:49:02.560 回答
0

在 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
            }
        }
    }
}
于 2018-07-09T11:46:17.697 回答
-1

“您指定的目标需要一个项目来执行”:答案就在您的问题中。我遇到了同样的问题。在项目文件夹中运行“mvn 命令”,还要确保它是一个 Maven 配置项目,因此包含“POM.xml”文件,你应该很高兴!

于 2016-03-30T17:39:52.573 回答
-1

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

此错误的示例是

pom.ml pm.xl

于 2020-04-13T06:33:34.060 回答
-2

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

于 2014-01-28T00:46:35.970 回答