Błąd „Określony cel wymaga wykonania projektu, ale w tym katalogu nie ma POM” po wykonaniu polecenia maven


113

Mam pom.xmlna C:\Users\AArmijos\Desktop\Factura Electronica\MIyT\componentes-1.0.4\sources\pom.xmli wykonywane:

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

jednak zwrócił poniższy błąd:

[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]

Czy ktoś może wyjaśnić, dlaczego się nie udaje?


Sprawdzałeś tutaj? maven.apache.org/plugins/maven-install-plugin/usage.html Twój szablon wygląda na nieprawidłowy. Widzę, że jako pierwszy argument pojawia się plik .jar.
— Deividi Cavarzan

tak, to polecenie działa poprawnie na innym komputerze, ale nie mogę na moim komputerze, zainstalowałem najnowszą wersję jdk i maven
— Adrian

Ok, teraz lepiej widzę błąd. Czy masz w tym folderze plik pom.xml, który nazywasz mvn install-install-file? Jeśli tak, czy możesz zaktualizować swoje pytanie?
— Deividi Cavarzan

Tak, mam plik pom.xml
— Adrian

Czy możesz opublikować swoje pytanie?
— Deividi Cavarzan

Odpowiedzi:


192

Ten link pomógł: https://stackoverflow.com/a/11199865/1307104

Edytuję moje polecenie, dodając cudzysłowy dla każdego parametru w ten sposób:

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"

Udało się.


1
Od kiedy potrzebuję wycen? Jestem teraz tak zdziwiony i odetchnęłam z ulgą, gdy w końcu znalazłem odpowiedź na taki
— bzdurny

Napotkałem podobny problem podczas wykonywania deploy:deploy-file, ale moim problemem było to, że po prostu przegapiłem myślnik („ -”) przed jedną z opcji.
— RAM237

Dziękuję Ci. Czuję się jak w 1999 roku, a my w 2018: /
— Nordes

Jeśli korzystasz z programu PowerShell, możesz wizualnie zobaczyć, jak PowerShell oddziela argumenty za pomocą kolorów w wierszu poleceń lub umieszczając „echo” przed poleceniem. Na przykład „echo mvn install: install-file ...”.
— turiyag

We wcześniejszej wersji maven nigdy nie podawałem podwójnych cudzysłowów. Ale teraz to nie działa bez niego. to rozwiązało mój problem.
— Pankaj

39

Dla każdego z tych, którzy doświadczają tego w systemie Windows i żadne z powyższych nie działało, spróbuj uruchomić to z cmd.exe. Wykonywanie tych poleceń za pomocą programu PowerShell powodowało za każdym razem niepowodzenie instalacji.


1
Ten sam problem, obsługa argumentów Powershell i CMD działa inaczej i wydaje się być myląca. MVN
— eageranalyst

Korzystałem z przewodnika Maven Pierwsze kroki i próbowałem wykonać polecenie „mvn -B archetype: generuj .....” w środowisku Windows PowerShell i otrzymywałem podobny błąd. Przejście na innego klienta wiersza poleceń (mintty git bash) rozwiązało problem.
— AbstractVoid

27

W oknach, o ile mi wiadomo, wszystkie parametry należy ująć w cudzysłów.

Więc jeśli chcesz stworzyć archetyp aplikacji internetowej maven, wykonaj następujące czynności:

Wymagania wstępne:

  1. Upewnij się, że masz zainstalowanego mavena i masz go w zmiennej środowiskowej PATH.

Jak:

  1. Otwórz program Windows PowerShell
  2. mkdir MyWebApp
  3. cd MyWebApp
  4. archetype mvn: generuj "-DgroupId = com.javan.dev" "-DartifactId = MyWebApp" "-DarchetypeArtifactId = maven-archetype-webapp" "-DinteractiveMode = false"

wprowadź opis obrazu tutaj

Uwaga: jest to testowane tylko w systemie Windows 10 PowerShell


Zweryfikowano na Mac OS X. Również dla dprowizarda java-simplemożesz użyć polecenia: mvn archetype:generate "-DarchetypeGroupId=io.dropwizard.archetypes" "-DarchetypeArtifactId=java-simple"z trybem interaktywnym lub z dodatkowymi parametrami.
— Andrey Lebedenko

9

Dodanie jeszcze jednej odpowiedzi dla użytkowników systemu Windows. Jeśli nic z tego nie rozwiązuje problemów.

Nie dodawać spaceprzed ani po=

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

Lepiej jest umieścić wszystko w podwójnych cudzysłowach, np. „-DgroupId = com ..” To da dokładny błąd, a nie jakiś przypadkowy błąd.

Dziwne, że maven nawet nie chce o tym wspomnieć w dokumentacji.


1
twoje rozwiązanie zadziałało, umieściłem całą sekcję -D w "" ... to naprawdę niesamowite, że produkt tak słabo zaprojektowany i źle zakodowany, jak Maven, stał się tak popularny ...
— Pierluigi Vernetto



1

W systemie Windows otrzymałem ten błąd podczas pracy w wierszu polecenia innego niż administrator. Kiedy uruchomiłem to jako administrator, błąd zniknął.


1

1. utwórz folder lib w pliku projektu,

2. skopiuj plik jarFiles do folderu lib

3. kliknij prawym przyciskiem myszy plik jarFile, przejdź do ścieżki kompilacji> Dodaj do ścieżki kompilacji (teraz Twój plik jar jest częścią Twoich referencyjnych bibliotek)

4. otwórz wiersz poleceń i przejdź do katalogu projektu i napisz

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

6.Zbuduj ponownie indeks lokalnego repozytorium, otwierając go w programie eclipse - przejdź do okna> pokaż widok> inne> maven> maven Repositories. Kliknij prawym przyciskiem myszy lokalne repozytorium i naciśnij „RebuildIndex”

5. otwórz plik pom.xml i dodaj swoją zależność

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

i biegnij

mvn clean
mvn compile 
mvn test 

Zastanawiałem się, jak prosta komenda maven zawiodłaby ... Znalazłem twoje rozwiązanie i voila! Zadziałało! Nikt nie pisał parametrów java w ", czego mi brakowało. Dziękuję bardzo :)
— russellhoff

0

Otrzymałem ten błąd nagle w Netbeans (ale zadziałał z wiersza poleceń) i okazuje się, że inny program zmienił domyślny katalog wiersza poleceń. A ponieważ Netbeans uruchamia „cmd / c” podczas wywoływania mavena, uruchamia się w niewłaściwym katalogu.

Sprawdź w Regedit wartość

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\Autorun  

Jeśli została ustawiona, prawdopodobnie powinieneś ją usunąć, aby rozwiązać problem. (1)

(Wylądowałem tutaj, próbując rozwiązać ten problem, może nie mieć 100% zastosowania do bieżącego pytania - ale może pomóc innym)

(1) Zmiana domyślnego katalogu startowego dla wiersza poleceń w systemie Windows 7


0
  • Wykonanie polecenia maven wymagało pliku pom.xml, który zawiera informacje o projekcie i szczegóły konfiguracji używane przez Maven do zbudowania projektu. Zawiera wartości domyślne dla większości projektów.

  • Upewnij się, że porject powinien zawierać pom.xml na poziomie głównym.


0

Dodaj plik Jenkinsfile, w którym znajduje się plik pom.xml. Podaj ścieżkę do katalogu w katalogu dir („project-dir”),

Dawny:

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

Sprawdź nazwę pliku, tzn. Plik pom.xml jest poprawnie napisany z odpowiednim rozszerzeniem .xml .

Przykładem tego błędu są

pom.ml pm.xl


0

Może występować problem z konfiguracją ścieżki Mavena, jeśli używasz systemu operacyjnego typu unix.

Krok 1: utwórz nowy plik w ścieżce ~/.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

Etap 2: Powłoka prowadzony source ~/.bash_profile lub modyfikować zsh plik konfiguracyjny (dodać nową linię: source ~/.bash_profile)


-1

„Określony cel wymaga realizacji projektu”: odpowiedź zawiera się w Twoim pytaniu. Miałem ten sam problem. Uruchom "komendę mvn" w folderze projektu. Upewnij się także, że jest to projekt skonfigurowany przez mavena i dlatego zawiera plik "POM.xml" i powinieneś być gotowy!


2
To polecenie służy do zainstalowania lokalnego pliku jar innego producenta. Nie mamy ze sobą kodu źródłowego projektu
— madhairsilence

-2

Uruchom go z katalogu, w którym znajduje się POM.XML.


9
Negocjowany, ponieważ install:install-filecel nie musi (nie może być) uruchamiany w projekcie. Służy do ręcznego instalowania artefaktu w repozytorium.
— Zoltán

Próbuję przesłać plik zip, który nie zawiera Pom xml. downvoted
— kazanaki
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.