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
私のコマンドに間違いはありますか?
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
Mavenの サードパーティJARのインストールのガイド によると、コマンドは次のとおりです。
mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> \
-DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging>
あなたは確かにパッケージングオプションが必要です。これは元の質問に答えます。
今、あなたのコンテキストでは、Sunが提供するjarファイルと戦っています。 Sun JARに対処する ページも読む必要があります。そこで、MavenがSun jarの場所に関するより良い情報を提供する方法、およびJava.netを追加する方法を学習します Maven 2リポジトリ whichcontainsjta-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>
パッケージを追加する必要があったので:
mvn install:install-file \
-DgroupId=javax.transaction \
-DartifactId=jta \
-Dversion=1.0.1B \
-Dfile=jta-1.0.1B.jar \
-DgeneratePom=true \
-Dpackaging=jar
答えは、ダッシュをエスケープすることです!
Windows PowerShellの使用時に同様のエラーが発生した場合は、Windowsの単純なコマンドラインを試してください。何が原因かはわかりませんが、PowerShellはMavenのパラメーターの一部を解釈しているようです。
投稿されたすべての回答は、厳密にMavenの観点からこれを正しく議論しています。私の問題は、NetBeansをプライマリIDEとして使用して、mavenに対してこのインストールを行うことでした。以下の記事が参考になりました。
次のnetbeansフォーラムの記事の功績: http://forums.netbeans.org/topic22907.html