Kesalahan “Tujuan yang Anda tentukan memerlukan proyek untuk dijalankan tetapi tidak ada POM di direktori ini” setelah menjalankan perintah maven

113

Saya telah pom.xmlmasuk C:\Users\AArmijos\Desktop\Factura Electronica\MIyT\componentes-1.0.4\sources\pom.xmldan saya mengeksekusi:

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

namun mengembalikan kesalahan di bawah ini:

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

Adakah yang bisa menjelaskan mengapa gagal?

Adrian
sumber
Apakah Anda sudah memeriksa di sini? maven.apache.org/plugins/maven-install-plugin/usage.html template Anda tampaknya tidak valid. Saya melihat bahwa file .jar muncul pada argumen pertama.
Deividi Cavarzan
ya, perintah ini berjalan dengan benar di pc lain tetapi saya tidak bisa di pc saya, saya menginstal versi terbaru jdk dan maven
Adrian
Oke sekarang saya melihat kesalahan dengan lebih baik. Apakah Anda memiliki pom.xml di folder ini yang Anda sebut mvn install-install-file? Jika sudah, dapatkah Anda memperbarui pertanyaan Anda?
Deividi Cavarzan
Ya, saya punya pom.xml
Adrian
Bisakah Anda memposting pertanyaan Anda?
Deividi Cavarzan

Jawaban:

192

Tautan ini membantu: https://stackoverflow.com/a/11199865/1307104

Saya mengedit perintah saya dengan menambahkan tanda kutip untuk setiap parameter seperti ini:

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"

Berhasil.

Adrian
sumber
1
Sejak kapan saya membutuhkan kutipan? Saya sangat bingung sekarang, dan lega akhirnya menemukan jawaban untuk pesan kesalahan sampah seperti itu ...
BAERUS
Saya menghadapi masalah serupa saat melakukannya deploy:deploy-file, tetapi masalah saya adalah saya melewatkan tanda hubung (" -") di depan salah satu opsi.
RAM237
Terima kasih. Saya merasa seperti di tahun 1999 dan kami berada di tahun 2018: /
Nordes
Jika Anda menggunakan PowerShell, Anda dapat melihat secara visual bagaimana PowerShell memisahkan argumen dengan warna pada baris perintah, atau dengan meletakkan "echo" di depan perintah. Seperti, "echo mvn install: install-file ...".
turiyag
Di versi maven sebelumnya, saya tidak pernah memberikan tanda kutip ganda. Tapi, sekarang tidak bisa tanpa itu. ini memecahkan masalah saya.
Pankaj
39

Untuk siapa pun yang mengalami ini di Windows dan tidak ada yang berhasil di atas, coba jalankan ini dari cmd.exe. Menjalankan perintah ini melalui PowerShell menyebabkan penginstalan gagal setiap saat.

Josh Sullivan
sumber
1
Masalah yang sama, penanganan argumen Powershell dan CMD bekerja secara berbeda dan tampaknya membingungkan MVN
eageranalyst
Mengikuti panduan Memulai Maven dan mencoba menjalankan "mvn -B archetype: generate ....." pada Windows PowerShell dan mendapatkan error serupa. Beralih ke klien baris perintah yang berbeda (mintty git bash) menyelesaikan masalah.
AbstractVoid
27

Pada windows sejauh yang saya ketahui, Anda harus menyertakan semua parameter dengan tanda kutip.

Jadi jika Anda ingin membuat arketipe aplikasi web maven Anda akan melakukan hal berikut:

Prasyarat:

  1. Pastikan Anda telah menginstal maven dan menyimpannya di variabel lingkungan PATH Anda.

Howto:

  1. Buka windows PowerShell
  2. mkdir MyWebApp
  3. cd MyWebApp
  4. arketipe mvn: menghasilkan "-DgroupId = com.javan.dev" "-DartifactId = MyWebApp" "-DarchetypeArtifactId = maven-archetype-webapp" "-DinteractiveMode = false"

masukkan deskripsi gambar di sini

Catatan: Ini hanya diuji pada windows 10 PowerShell

J. Jawa
sumber
Diverifikasi di Mac OS X. Selain itu, untuk dprowizard java-simpleAnda dapat menggunakan perintah berikut: mvn archetype:generate "-DarchetypeGroupId=io.dropwizard.archetypes" "-DarchetypeArtifactId=java-simple"dengan mode interaktif atau dengan parameter tambahan.
Andrey Lebedenko
9

Menambahkan satu jawaban lagi untuk pengguna Windows. Jika semua ini tidak menyelesaikan masalah.

Jangan tambahkan spacesebelum atau sesudah=

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

Lebih baik meletakkan semuanya di dalam tanda kutip ganda, seperti "-DgroupId = com .." Ini akan memberikan Anda kesalahan yang tepat daripada beberapa kesalahan acak.

Anehnya, maven bahkan tidak peduli untuk menyebutkannya dalam dokumentasi.

madhairsilence
sumber
1
solusi Anda berhasil, saya meletakkan semua bagian -D di dalam "" ... sungguh menakjubkan bahwa produk yang direkayasa dengan buruk dan kode buruk seperti Maven berhasil menjadi begitu populer ...
Pierluigi Vernetto
1

Mengubah mvn cleanke mvn clean --file *.pommemperbaiki masalah ini untuk saya.

Matthias Braun
sumber
1

Di Windows, saya mendapat kesalahan ini saat berjalan di bawah prompt perintah non-administrator. Ketika saya menjalankan ini sebagai administrator, kesalahannya hilang.

tcb
sumber
1

1. buat folder lib di file proyek Anda,

2. salin jarFiles Anda ke folder lib

3. klik kanan ke jar Anda File buka jalur build> Tambahkan ke jalur build (sekarang file jar Anda adalah bagian dari perpustakaan reference Anda)

4. buka command prompt dan arahkan ke direktori proyek Anda dan tulis

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

6. Bangun kembali indeks repositori lokal Anda dengan membuka di eclipse- buka jendela> tampilkan tampilan> lainnya> maven> maven Repositories. Klik kanan pada Repositori lokal dan tekan "RebuildIndex"

5. buka file pom.xml Anda dan tambahkan ketergantungan Anda

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

dan lari

mvn clean
mvn compile 
mvn test 
CTester
sumber
Saya bertanya-tanya bagaimana perintah maven sederhana akan gagal ... Saya datang dengan solusi Anda dan voila! Berhasil! Tidak ada yang menulis java params di dalam ", yang saya lewatkan. Terima kasih banyak :)
russellhoff
0

Saya mendapat kesalahan ini tiba-tiba di Netbeans (tetapi berfungsi dari baris perintah) dan ternyata beberapa program lain telah mengubah direktori default dari prompt perintah. Dan karena Netbeans menjalankan "cmd / c" saat menjalankan maven, itu dimulai di direktori yang salah.

Lihat di Regedit nilai untuk

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\Autorun  

Jika sudah disetel, Anda mungkin harus menghapusnya untuk memperbaiki masalah. (1)

(Saya mendarat di sini ketika mencoba menyelesaikan masalah ini, mungkin tidak 100% berlaku untuk pertanyaan saat ini - tetapi mungkin membantu orang lain)

(1) Mengubah direktori startup default untuk command prompt di Windows 7

AtliB
sumber
0
  • Eksekusi perintah maven memerlukan file pom.xml yang berisi informasi tentang project dan detail konfigurasi yang digunakan Maven untuk membangun project tersebut. Ini berisi nilai default untuk sebagian besar proyek.

  • Pastikan bahwa porject harus berisi pom.xml di tingkat root.

Nanda Balakrishnan
sumber
0

Tambahkan Jenkinsfile tempat file pom.xml ada. Berikan jalur direktori di 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
            }
        }
    }
}
Prabu Balasubramanian
sumber
0

Periksa nama file, yaitu file pom.xml dieja dengan benar dengan ekstensi file yang sesuai .xml .

Contoh untuk kesalahan ini adalah

pom.ml pm.xl

Gani
sumber
0

Mungkin ada masalah dengan konfigurasi jalur Maven, jika Anda menggunakan Sistem Operator mirip unix.

langkah 1: buat file baru di jalur ~/.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

Langkah 2: shell run source ~/.bash_profile OR memodifikasi zsh file konfigurasi (tambahkan baris baru: source ~/.bash_profile)

daidai21
sumber
-1

"Sasaran yang Anda tentukan memerlukan proyek untuk dijalankan": Jawabannya ada dalam pertanyaan Anda. Saya menghadapi masalah yang sama. Jalankan "perintah mvn" di dalam folder proyek , Juga pastikan itu adalah proyek yang dikonfigurasi maven dan karenanya berisi file "POM.xml" dan Anda harus melakukannya dengan baik!

krutika sheth
sumber
2
Perintah ini untuk menginstal jar pihak ke-3 lokal. Kami tidak memiliki kode sumber proyek bersama kami
madhairsilence
-2

Silakan jalankan dari direktori tempat POM.XML berada.

Sasiraj
sumber
9
Tidak disukai karena install:install-filetujuan tidak perlu (tidak bisa?) Dijalankan pada proyek. Ini digunakan untuk menginstal artefak secara manual ke dalam repositori.
Zoltán
Saya mencoba mengunggah file zip yang tidak memiliki Pom xml. suara negatif
kazanaki