Помилка "Вказана вами мета вимагає виконання проекту, але в цьому каталозі немає POM" після виконання команди maven


113

У мене є pom.xmlв 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 файл приходить на перший аргумент.
Дейвідi Каварзан

так, ця команда виконується правильно на іншому ПК, але я не можу на своєму ПК, я встановив останню версію jdk та maven
Адріан

Гаразд, я бачу помилку краще. Чи є у цій папці pom.xml, яку ви викликаєте mvn install-install-file? Якщо у вас є, чи можете ви оновити своє запитання?
Дейвідi Каварзан

Так, у мене є pom.xml
Адріан

Чи можете ви опублікувати своє запитання, будь ласка?
Дейвідi Каварзан

Відповіді:


192

Це посилання допомогло: 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
З якого часу мені потрібні цитати? Я зараз так спантеличений і з полегшенням нарешті знайшов відповідь на таке повідомлення про помилку ...
BAERUS

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

Дякую. Я відчуваю себе як у 1999 році, так і у 2018 році: /
Nordes

Якщо ви перебуваєте в повному шрифті, ви зможете візуально побачити, як PowerShell розділяє аргументи кольорами в командному рядку, або поставивши "ехо" перед командою. Мовляв, "echo mvn install: install-file ...".
туріяг

У попередній версії Maven я ніколи не використовував подвійних цитат. Але тепер без нього не виходить. це вирішило моє питання.
Панкай

39

Для будь-кого з тих, хто відчуває це в Windows, і жодне з вищезгаданих не працювало, спробуйте запустити це з cmd.exe. Виконання цих команд через PowerShell приводило до того, що інсталяція виходить з ладу щоразу.


1
Це ж питання, що обробка аргументів Powershell та CMD працює по-різному і, здається, бентежить
MVN

Дотримувався керівництва Maven's Getting Star і намагався виконати "mvn -B архетип: генерувати ....." на Windows PowerShell і отримував подібну помилку. Перехід на інший клієнтський командний рядок (mintty git bash) вирішив проблему.
AbstractVoid

27

Що стосується мене Windows, ви повинні додавати всі параметри до лапок.

Отже, якщо ви хочете створити архетип Maven webapp, ви зробите наступне:

Передумови:

  1. Переконайтеся, що ви встановили Maven та чи є він у вашій змінній середовища PATH.

Як:

  1. Відкрийте панель захисту вікон
  2. mkdir MyWebApp
  3. CD MyWebApp
  4. mvn архетип: генерація "-DgroupId = com.javan.dev" "-DartifactId = MyWebApp" "-DarchetypeArtifactId = maven-archetype-webapp" "-DinteractiveMode = false"

введіть тут опис зображення

Примітка. Це тестується лише на корпусі Windows 10


Підтверджено на 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 .." Це дасть точну помилку, а не випадкову помилку.

Дивно, що Мейвен навіть не підозрює це згадувати в документації.


1
ваше рішення спрацювало, я помістив весь розділ -D в межах "" ... це справді дивовижно, що продукт настільки погано спроектований і погано кодований, як Мейвен, встиг стати таким популярним ...
П'єрлуіджі Вернетто



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. Перебудуйте індекс локального сховища, відкривши затемнення - перейдіть до вікна> показати перегляд> інше> maven> maven Repositories. Клацніть правою кнопкою миші на локальних репозиторіях та натисніть "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

Додайте Jenkinsfile, де присутній файл 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

Може виникнути проблема з конфігурацією шляху 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: оболонка запустити source ~/.bash_profile або змінити ЗШ конфігураційний файл (додати новий рядок: source ~/.bash_profile)


-1

"Ціль, яку ви вказали, потребує виконання проекту". Відповідь є у вашому запитанні. Я зіткнувся з тим же питанням. Запустіть команду "mvn" в папці проекту , а також переконайтесь, що її проект, налаштований maven, а значить, містить файл "POM.xml", і вам слід добре піти!


2
Ця команда полягає у встановленні локальної сторонньої банки. У нас немає вихідного коду проекту
madhairsilence

-2

Будь ласка, запустіть його з каталогу, де проживає POM.XML.


9
Незважаючи на те, що install:install-fileмета не повинна бути (не можна?) Виконувати проект. Він використовується для ручного встановлення артефакту в сховище.
Золтан

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