ข้อผิดพลาด“ เป้าหมายที่คุณระบุต้องการโปรเจ็กต์เพื่อดำเนินการ แต่ไม่มี 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 มาพร้อมกับอาร์กิวเมนต์แรก
Deividi Cavarzan

ใช่คำสั่งนี้ทำงานอย่างถูกต้องบนพีซีเครื่องอื่น แต่ฉันไม่สามารถบนพีซีของฉันฉันติดตั้ง jdk และ maven เวอร์ชันล่าสุด
Adrian

ตกลงตอนนี้ฉันเห็นข้อผิดพลาดที่ดีขึ้น คุณมี pom.xml ในโฟลเดอร์นี้ที่คุณเรียกว่า mvn install-install-file หรือไม่? หากมีคุณสามารถอัปเดตคำถามของคุณได้หรือไม่
Deividi Cavarzan

ใช่ฉันมี pom.xml
Adrian

คุณสามารถโพสต์คำถามของคุณได้ไหม
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
ฉันต้องการคำพูดตั้งแต่เมื่อไหร่? ตอนนี้ฉันรู้สึกงงงวยมากและโล่งใจที่พบคำตอบสำหรับข้อความแสดงข้อผิดพลาดที่เป็นขยะในที่สุด ...
BAERUS

ฉันประสบปัญหาในลักษณะเดียวกันนี้deploy:deploy-fileแต่ปัญหาของฉันคือฉันพลาดเพียงแค่ขีด (" -") ที่อยู่หน้าตัวเลือกใดตัวเลือกหนึ่ง
RAM237

ขอบคุณ. ฉันรู้สึกเหมือนในปี 1999 และเราอยู่ในปี 2018: /
Nordes

หากคุณอยู่ใน powershell คุณจะเห็นได้ว่า PowerShell แยกอาร์กิวเมนต์ด้วยสีในบรรทัดคำสั่งอย่างไรหรือโดยการใส่ "echo" ไว้หน้าคำสั่ง เช่น "echo mvn install: install-file ... "
turiyag

ในเวอร์ชันก่อนหน้าของ maven ฉันไม่เคยใส่เครื่องหมายคำพูดคู่ แต่ตอนนี้มันใช้ไม่ได้ถ้าไม่มีมัน สิ่งนี้ช่วยแก้ปัญหาของฉันได้
Pankaj

39

สำหรับผู้ที่ประสบปัญหานี้บน Windows และไม่ได้ผลข้างต้นให้ลองเรียกใช้จาก cmd.exe การดำเนินการคำสั่งเหล่านี้ผ่าน PowerShell ทำให้การติดตั้งล้มเหลวในแต่ละครั้ง


1
ปัญหาเดียวกันการจัดการอาร์กิวเมนต์ Powershell และ CMD ทำงานแตกต่างกันและดูเหมือนจะทำให้
MVN

ทำตามคู่มือการเริ่มต้นใช้งานของ Maven และพยายามเรียกใช้ "mvn -B archetype: create ..... " บน Windows PowerShell และได้รับข้อผิดพลาดที่คล้ายกัน การเปลี่ยนไปใช้ไคลเอนต์บรรทัดคำสั่งอื่น (mintty git bash) ช่วยแก้ปัญหาได้
AbstractVoid

27

บน windows เท่าที่ฉันกังวลคุณต้องใส่เครื่องหมายคำพูดทุกพารามิเตอร์

ดังนั้นหากคุณต้องการสร้างแม่แบบเว็บแอป maven คุณจะทำดังนี้:

วิชาบังคับก่อน:

  1. ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้ง maven และมีไว้ในตัวแปรสภาพแวดล้อม PATH ของคุณ

ทำอย่างไร:

  1. เปิด windows powershell
  2. mkdir MyWebApp
  3. ซีดี MyWebApp
  4. mvn archetype: สร้าง "-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"ด้วยโหมดโต้ตอบหรือด้วยพารามิเตอร์เพิ่มเติม
Andrey Lebedenko

9

เพิ่มอีกหนึ่งคำตอบสำหรับผู้ใช้ Windows หากไม่มีสิ่งนี้จะช่วยแก้ปัญหาได้

อย่าเติมspaceก่อนหรือหลัง=

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

เป็นการดีกว่าที่จะใส่ทุกอย่างไว้ในเครื่องหมายคำพูดคู่เช่น "-DgroupId = com .. " ซึ่งจะทำให้คุณมีข้อผิดพลาดที่แน่นอนแทนที่จะเป็นข้อผิดพลาดแบบสุ่ม

แปลกที่มาเวนไม่สนใจที่จะพูดถึงเรื่องนี้ในเอกสารด้วยซ้ำ


1
วิธีแก้ปัญหาของคุณได้ผลฉันใส่ส่วน -D ทั้งหมดไว้ใน "" ... มันน่าทึ่งมากที่ผลิตภัณฑ์ที่ได้รับการออกแบบทางวิศวกรรมที่ไม่ดีและไร้รหัสอย่าง Maven ได้รับความนิยมอย่างมาก ...
Pierluigi Vernetto



1

ใน Windows ฉันได้รับข้อผิดพลาดนี้เมื่อทำงานภายใต้พรอมต์คำสั่งที่ไม่ใช่ผู้ดูแลระบบ เมื่อฉันเรียกใช้สิ่งนี้ในฐานะผู้ดูแลระบบข้อผิดพลาดก็หายไป


1

1. สร้างโฟลเดอร์ lib ในไฟล์โครงการของคุณ

2. คัดลอก jarFiles ของคุณไปยังโฟลเดอร์ lib

3. คลิกขวาที่ jarFile ของคุณไปที่ build path> Add to build path (ตอนนี้ไฟล์ jar ของคุณเป็นส่วนหนึ่งของไลบรารี refrerenced ของคุณ)

4. เปิดพรอมต์คำสั่งและไปที่ไดเรกทอรีโครงการของคุณและเขียน

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

6. สร้างดัชนีที่เก็บในเครื่องของคุณใหม่โดยเปิดใน eclipse- ไปที่ window> show view> other> maven> maven Repositories คลิกขวาที่ Repositores ในเครื่องแล้วกด "RebuildIndex"

5. เปิดไฟล์ pom.xml ของคุณและเพิ่มการอ้างอิงของคุณ

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

และเรียกใช้

mvn clean
mvn compile 
mvn test 

ฉันสงสัยว่าคำสั่ง maven ธรรมดาจะล้มเหลวได้อย่างไร ... ฉันคิดวิธีแก้ปัญหาและ voila ของคุณ! มันได้ผล! ไม่มีใครเขียน java params ไว้ใน "ซึ่งเป็นสิ่งที่ฉันขาดหายไปขอบคุณมาก :)
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'),

Ex:

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 หากคุณใช้ระบบตัวดำเนินการแบบยูนิกซ์

ขั้นตอนที่ 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 หรือแก้ไขไฟล์ config zsh (เพิ่มบรรทัดใหม่: source ~/.bash_profile)


-1

"เป้าหมายที่คุณระบุต้องการโครงการเพื่อดำเนินการ": คำตอบอยู่ในคำถามของคุณ ฉันประสบปัญหาเดียวกัน เรียกใช้ "คำสั่ง mvn" ภายในโฟลเดอร์โครงการและตรวจสอบให้แน่ใจว่าเป็นโครงการที่กำหนดค่า maven และด้วยเหตุนี้จึงมีไฟล์ "POM.xml" และคุณควรจะไป!


2
คำสั่งนี้ใช้เพื่อติดตั้ง jar ของบุคคลที่สามในเครื่อง เราไม่มีซอร์สโค้ดโครงการกับเรา
madhairsilence

-2

โปรดเรียกใช้จากไดเร็กทอรีที่ POM.XML อยู่


9
ถูกลดคะแนนเนื่องจากinstall:install-fileเป้าหมายไม่จำเป็นต้อง (ไม่สามารถ?) ทำงานในโปรเจ็กต์ ใช้สำหรับการติดตั้งสิ่งประดิษฐ์ลงในที่เก็บด้วยตนเอง
Zoltán

ฉันพยายามอัปโหลดไฟล์ zip ที่ไม่มี Pom xml downvoted
kazanaki
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.