mavenコマンドを実行した後のエラー「指定した目標にはプロジェクトの実行が必要ですが、このディレクトリにPOMがありません」


113

私は持っていpom.xmlC:\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 2013年

はい、このコマンドは別のPCで正しく実行されますが、自分のPCでは実行できません。jdkとmavenの最新バージョンをインストールしました
Adrian

さて、エラーがよくわかりました。このフォルダーにmvn install-install-fileと呼ぶpom.xmlがありますか?持っている場合、質問を更新できますか?
Deividi Cavarzan 2013年

はい、pom.xmlを持っています
エイドリアン

質問に投稿していただけますか?
Deividi Cavarzan 2013年

回答:


191

このリンクは役に立ちました: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を混乱させているようです
熱心なアナリスト、2015

Mavenのスタートガイドに従って、Windows PowerShellで「mvn -B archetype:generate .....」を実行しようとすると、同様のエラーが発生していました。別のコマンドラインクライアント(mintty git bash)に切り替えると問題が解決しました。
AbstractVoid

27

Windowsでは、すべてのパラメーターを引用符で囲む必要があります。

したがって、Maven Webアプリケーションアーキタイプを作成する場合は、次のようにします。

前提条件:

  1. mavenがインストールされており、PATH環境変数に含まれていることを確認してください。

方法:

  1. Windows PowerShellを開く
  2. mkdir MyWebApp
  3. cd MyWebApp
  4. mvn archetype:generate "-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ユーザー向けの回答をもう1つ追加します。これで問題が解決しない場合。

space前または後に追加しないでください=

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

"-DgroupId = com .."のように、すべてを二重引用符で囲むと、ランダムなエラーではなく正確なエラーが得られます。

奇妙なことに、mavenはドキュメントでこれについて言及することすらありません。


1
あなたのソリューションが働いて、私はそれは、製品とても悪い設計とMavenのような病気にコード化されたが...とても人気になることを管理していることは本当に驚くべきことだ...「」内のすべての-Dセクションを置く
ピエルルイジVernetto



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.Eclipseで開いて、ローカルリポジトリインデックスを再構築します。ウィンドウ>ビューの表示>その他> maven> mavenリポジトリに移動します。ローカルのリポジトリを右クリックして、「RebuildIndex」を押します。

5. pom.xmlファイルを開き、依存関係を追加します

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

そして走る

mvn clean
mvn compile 
mvn test 

単純なmavenコマンドがどのように失敗するのか疑問に思っていました...私はあなたの解決策と出来上がりを思いつきました!出来た!"内にjava paramsを書いている人はいませんでした。これが欠けていたものでした。どうもありがとうございました:)
russellhoff

0

Netbeansで突然このエラーが発生しました(ただし、コマンドラインから機能しました)。他のプログラムがコマンドプロンプトのデフォルトディレクトリを変更していることがわかりました。また、Netbeansはmavenを呼び出すときに「cmd / c」を実行するため、不正なディレクトリで起動します。

Regeditで値を確認してください

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\Autorun  

設定されている場合は、おそらくそれを削除して問題を修正する必要があります。(1)

(私はこの問題を解決しようとしたときにここに着陸しました、現在の質問に100%当てはまるとは限りませんが、他の人を助けるかもしれません)

(1) Windows 7のコマンドプロンプトのデフォルトの起動ディレクトリを変更する


0
  • mavenコマンドの実行には、プロジェクトに関する情報と、Mavenがプロジェクトのビルドに使用する構成の詳細を含むpom.xmlファイルが必要でした。ほとんどのプロジェクトのデフォルト値が含まれています。

  • porjectにルートレベルでpom.xmlが含まれていることを確認してください。


0

pom.xmlファイルが存在する場所にJenkinsfileを追加します。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

UNIXのようなオペレーターシステムを使用している場合、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 OR zshの設定ファイルを変更(新しい行を追加します。source ~/.bash_profile


-1

「指定した目標を実行するにはプロジェクトが必要です」:答えはあなたの質問にあります。私は同じ問題に直面しました。プロジェクトフォルダー内で「mvnコマンド」を実行します。また、Mavenで構成されたプロジェクトであること、および「POM.xml」ファイルが含まれていることを確認してください。これで問題ありません。


2
このコマンドは、ローカルのサードパーティjarをインストールするためのものです。プロジェクトのソースコードはありません
madhairsilence 2017年

-2

POM.XMLが存在するディレクトリから実行してください。


9
install:install-file目標はプロジェクトで実行する必要がない(できない)ため、反対票を投じました。アーティファクトをリポジトリに手動でインストールするために使用されます。
ゾルタン2014

Pom xmlのないzipファイルをアップロードしようとしています。反対投票
kazanaki
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.