Maven 2にアーティファクトを手動でインストールする方法は?


96

Maven 2でアーティファクトを手動でインストールしようとしたときに、いくつかのエラーが発生しました。ローカルディレクトリから次のコマンドを使用してjarをインストールしたいと思いました。

mvn install:install-file -Dfile=jta-1.0.1B.jar

しかし、Mavenは次のようなビルドエラーを出しました。

Invalid task '.01B.jar': you must
specify a valid lifecycle phase, or a
goal in the format plugin:goal or
pluginGroupId:pluginArtifactId:pluginVersion:goal

私のコマンドに間違いはありますか?


これのステータスは何ですか?質問は解決しましたか?
Matt

回答:


147

アーティファクトのgroupId、artifactId、およびバージョンを示す必要があります。

mvn install:install-file \
  -DgroupId=javax.transaction \
  -DartifactId=jta \
  -Dpackaging=jar \
  -Dversion=1.0.1B \
  -Dfile=jta-1.0.1B.jar \
  -DgeneratePom=true

8
-Dpackaging = jarなどが欠落している
kaboom

@kaboomいいえ!デフォルトでは、パッケージはjarなので、コマンドでこれを指定する必要はありません...
Romain Linsolas

5
@romaintaz kaboomは正しいです。-Dpackaging = jar(またはタイプが何であれ)が必要です。それ以外の場合は、「 'packaging' is missing。」に関するエラーが発生します。
Jack Edmonds

3
pomファイルを提供する場合を除いて、パッケージ化パラメーターが必要であるようです。後者の場合、パッケージのタイプはpomから取得されます。
Romain Linsolas、2011

1
PowerShellを使用している場合は、同様に引用符を使用してください"-DgroupId=javax.transaction"
ankitjaininfo

38

サードパーティのJARのインストールに関する Mavenのガイドによると、コマンドは次のとおりです。

mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> \
-DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging>

確かにパッケージングオプションが必要です。これは元の質問に答えます。

さて、あなたの文脈では、あなたはサンが提供する瓶で戦っています。Sun JARsへの対応のページも読んでください。そこでは、Sun jarの場所に関するより良い情報を提供するためにmavenを支援する方法と、を含む Java.net Maven 2リポジトリーを追加する方法を学びます jta-1.0.1B.jar。これを(ポータブルでsettings.xmlはない)または pom.xml(ポータブル)に追加します。

  <repositories>
    <repository>
      <id>maven2-repository.dev.java.net</id>
      <name>Java.net Repository for Maven</name>
      <url>http://download.java.net/maven/2/</url>
      <layout>default</layout>
    </repository>
  </repositories>

13

パッケージを追加する必要があったので、

mvn install:install-file \
  -DgroupId=javax.transaction \
  -DartifactId=jta \
  -Dversion=1.0.1B \
  -Dfile=jta-1.0.1B.jar \
  -DgeneratePom=true \
  -Dpackaging=jar

jarファイルを手動でインストールする際に多くの問題があり、この方法で正確に入力するまで失敗し続けました。今ではうまくいきます!
gregturn 2012


4

Windows PowerShellを使用しているときに同様のエラーが発生する場合は、Windowsの単純なコマンドラインを試してください。原因はわかりませんでしたが、PowerShellがMavenのパラメーターの一部を解釈しているようです。


上記のS. Bollweberの回答をご覧ください。そして、少なくともTakeCommandは同じ振る舞いを表現します。
Martin

1
私の回答に反対票を投じる理由はありません– S. Bollweberは自分の数か月後に回答しました。
Koraktor

2

投稿されたすべての回答は、厳密にmavenの観点からこれを正当に議論します。私の問題は、NetbeansをプライマリIDEとして使用してmavenにこのインストールを行うことでした。以下の記事が参考になりました。

次のnetbeansフォーラムの記事へのクレジット:http ://forums.netbeans.org/topic22907.html

  1. Mavenプロジェクトで「依存関係の追加」ダイアログを開きます
  2. いくつかのgroupId、artifactId、およびversionを作成し、それらを入力します。OK。
  3. 依存関係がpom.xmlに追加され、Mavenプロジェクトの「ライブラリ」ノードの下に表示されます
  4. Libノードを右クリックして「アーティファクトを手動でインストール」し、jarへのパスを入力します。jarは、手順2)で入力した座標でローカルのMavenリポジトリにインストールする必要があります
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.