Помилка "Вказана вами мета вимагає виконання проекту, але в цьому каталозі немає 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.