错误执行maven命令后,“您指定的目标需要执行一个项目,但是这个目录中没有POM”
我在C:\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]
有人可以解释为什么它失败?
这个链接帮助: 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"
它的工作。
对于那些在Windows上遇到这种情况的人,以上都没有工作,请尝试从cmd.exe运行。 通过PowerShell执行这些命令导致安装每次都失败。
为Windows用户添加一个更多的答案。 如果这些都不能解决问题。
=
之前或之后不要添加space
-DgroupId= com.company.module //Wrong , Watch the space after the equal to -DgroupId=com.company.module //Right
最好把所有内容放在双引号内,比如“-DgroupId = com ..”,这会给你确切的错误,而不是一些随机的错误。
奇怪的是,maven甚至不在乎在文档中提到这一点。
1.在你的项目文件中创build一个lib文件夹,
2.将你的jar文件复制到lib文件夹
3.右键单击你的jar文件去构buildpath>添加到构buildpath(现在你的jar文件是你的refrerenced库的一部分)
4.打开命令提示符并导航到您的项目目录并写入
mvn install: install-file "-Dfile=<yourJarFileName>.jar" "-DgroupId=<yourGroupID>" "-DartifactId=<yourArtifactId>" "-Dversion=<yourVersion>" "-Dpackaging=jar"
6.在eclipse中打开本地资源库索引 – 转到窗口> 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
在我所关心的窗口中,必须用引号括起所有的参数。
所以如果你想创build一个maven webapp原型,你可以这样做:
先决条件:
- 确保你已经安装了maven,并把它放在你的PATH环境variables中。
如何:
- 打开Windows PowerShell
- mkdir MyWebApp
- cd MyWebApp
- mvn archetype:生成“-DgroupId = com.javan.dev”“-DartifactId = MyWebApp”“-DarchetypeArtifactId = maven-archetype-webapp”“-DinteractiveMode = false”
注意:这仅在Windows 10 PowerShell上进行testing
请从POM.XML所在的目录运行。
将mvn clean
更改为mvn clean --file *.pom
为我解决了这个问题。
在Windows上,在非pipe理员命令提示符下运行时出现此错误。 当我以pipe理员身份运行时,错误消失了。
“你指定的目标需要一个项目执行”:答案在你的问题。 我面临同样的问题。 在项目文件夹中运行“mvn命令” ,同时确保它的mavenconfiguration项目,因此包含“POM.xml”文件,你应该很好去!
我突然在Netbeans中得到了这个错误(但是它从命令行运行),结果有一些其他程序改变了命令提示符的默认目录。 而且因为Netbeans在调用maven时运行“cmd / c”,它会在一个不正确的目录中启动。
在Regedit中查看值
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\Autorun
如果已设置,则可能应将其删除以解决问题。 (1)
(当我试图解决这个问题的时候降落在这里,可能不是100%适用于当前的问题 – 但可能帮助其他人)
(1) 在Windows 7中更改命令提示符的默认启动目录
-
maven命令的执行需要pom.xml文件,其中包含有关Maven构build项目所使用的项目和configuration细节的信息。 它包含大多数项目的默认值。
-
确保porject应该在根级别包含pom.xml。