Ошибка «Указанная вами цель требует выполнения проекта, но в этом каталоге нет POM» после выполнения команды maven.


113

У меня есть pom.xmlin, 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]

Может кто-нибудь объяснить, почему это не удается?


Вы здесь проверяли? maven.apache.org/plugins/maven-install-plugin/usage.html ваш шаблон кажется недействительным. Я вижу, что файл .jar идет первым аргументом.
Deividi Cavarzan

да, эта команда выполняется правильно на другом компьютере, но я не могу на своем компьютере, я установил последнюю версию jdk и maven
Адриан

Хорошо, теперь я лучше вижу ошибку. У вас есть pom.xml в этой папке, которую вы называете mvn install-install-file? Если да, можете ли вы обновить свой вопрос?
Deividi Cavarzan

Да, у меня есть pom.xml
Адриан

Не могли бы вы задать свой вопрос?
Deividi Cavarzan

Ответы:


193

Эта ссылка помогла: 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"

Это сработало.


1
С каких это пор мне нужны цитаты? Я так озадачен прямо сейчас и рад, что наконец нашел ответ на такое
вздорное

Я столкнулся с подобной проблемой при выполнении deploy:deploy-file, но моя проблема заключалась в том, что я просто пропустил тире (" -") перед одним из вариантов.
RAM237 04

Спасибо. Я чувствую себя как в 1999, а мы в 2018: /
Nordes

Если вы работаете в PowerShell, вы можете визуально увидеть, как PowerShell разделяет аргументы цветами в командной строке или помещает «echo» перед командой. Например, "echo mvn install: install-file ...".
turiyag

В более ранней версии maven я никогда не использовал двойные кавычки. Но теперь без него не работает. это решило мою проблему.
Pankaj

39

Для тех, кто сталкивается с этим в Windows и ни одно из вышеперечисленных действий не работает, попробуйте запустить это из cmd.exe. Выполнение этих команд через PowerShell каждый раз приводило к сбою установки.


1
Та же проблема, обработка аргументов Powershell и CMD работают по-разному и, похоже, сбивают с толку MVN
eageranalyst

Следовал руководству Maven по началу работы и пытался выполнить «mvn -B archetype: generate .....» в Windows PowerShell и получал аналогичную ошибку. Переключение на другой клиент командной строки (mintty git bash) решило проблему.
AbstractVoid

27

Насколько я понимаю, в окнах вы должны заключить все параметры в кавычки.

Итак, если вы хотите создать архетип 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.


Проверено на Mac OS X. Также для dprowizard java-simpleможно использовать следующую команду: в mvn archetype:generate "-DarchetypeGroupId=io.dropwizard.archetypes" "-DarchetypeArtifactId=java-simple"интерактивном режиме или с дополнительными параметрами.
Андрей Лебеденко

9

Добавляем еще один ответ для пользователей Windows. Если ничего из этого не решит проблемы.

Не добавляйте spaceдо или после=

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

Лучше заключить все в двойные кавычки, например "-DgroupId = com ..". Это даст вам точную ошибку, а не какую-то случайную ошибку.

Странно, что maven даже не упоминает об этом в документации.


1
ваше решение сработало, я поместил весь раздел -D в "" ... действительно удивительно, что продукт, настолько плохо спроектированный и плохо запрограммированный, как Maven, стал настолько популярным ...
Пьерлуиджи Вернетто



1

В Windows я получал эту ошибку при запуске из командной строки без прав администратора. Когда я запустил это как администратор, ошибка исчезла.


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 

Мне было интересно, как простая команда maven будет терпеть неудачу ... Я придумал ваше решение и вуаля! Это сработало! Никто не писал параметры java в ", что мне и не хватало. Большое вам спасибо :)"
russellhoff

0

Я внезапно получил эту ошибку в Netbeans (но она работала из командной строки), и оказалось, что какая-то другая программа изменила каталог по умолчанию в командной строке. И поскольку Netbeans запускает «cmd / c» при вызове maven, он запускается в неправильном каталоге.

Проверьте в Regedit значение для

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\Autorun  

Если он был установлен, вам, вероятно, следует удалить его, чтобы решить проблему. (1)

(Я приземлился здесь, когда пытался решить эту проблему, возможно, не на 100% применим к текущему вопросу, но может помочь другим)

(1) Изменение каталога запуска по умолчанию для командной строки в Windows 7


0
  • Для выполнения команды maven требуется файл pom.xml, содержащий информацию о проекте и сведения о конфигурации, используемые Maven для сборки проекта. Он содержит значения по умолчанию для большинства проектов.

  • Убедитесь, что porject должен содержать pom.xml на корневом уровне.


0

Добавьте файл Jenkins, в котором находится файл pom.xml. Укажите путь к каталогу в каталоге 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
            }
        }
    }
}

0

Проверьте имя файла, т.е. файл pom.xml написан правильно с правильным расширением файла .xml .

Пример этой ошибки:

pom.ml pm.xl


0

Если вы использовали 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: оболочка запустить source ~/.bash_profile или изменить ЗШ конфигурационный файл (добавить новую строку: source ~/.bash_profile)


-1

«Указанная вами цель требует выполнения проекта»: ответ в вашем вопросе. Я столкнулся с той же проблемой. Запустите "mvn command" в папке проекта. Также убедитесь, что это настроенный maven проект и, следовательно, содержит файл "POM.xml", и все будет в порядке!


2
Эта команда предназначена для установки локального стороннего jar-файла. У нас нет с собой исходного кода проекта
madhairsilence

-2

Запустите его из каталога, в котором находится POM.XML.


9
Проголосовали против, потому что install:install-fileцель не обязательно (не может?) Выполняться в проекте. Он используется для ручной установки артефакта в репозиторий.
Zoltán

Я пытаюсь загрузить zip-файл без Pom xml. проголосовали против
kazanaki
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.