2012-01-19 8 views
7

カスタムmavenプラグインをnexusリポジトリにアップロードします。MavenプラグインをNexusリポジトリにアップロードするにはどうすればいいですか?

私の問題は、私は普通の依存関係のようなウェブIU経由ネクサスに私のプラグインをアップロードする際に、Mavenのは、それを見つけることができないということです:

プラグインcom.huawei:Mavenのプロジェクト・バージョンのプラグイン:1.0その の依存関係の1つを解決できませんでした。 のcom.huawei:maven-project-version-plugin:jar:1.0:見つからない com.mycompany:maven-project-version-plugin:pom : http://localhost:8081/nexus/content/groups/publicの1.0がローカルのリポジトリ にキャッシュされていた場合、更新までは解像度が再試行されません nexusの間隔[ヘルプ1]

しかし、コマンドラインでmaven local repositiry(nexusではない)にプラグインをインストールするときは、すべて問題ありません。

カスタムMavenプラグインのインストールと「非プラグイン」アーティファクトのインストールの違いは何ですか?何か手掛かりはありますか?

私のsettings.xml:

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" 
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
      xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> 

    <mirrors> 
    <mirror> 
     <!--This sends everything else to /public --> 
     <id>nexus</id> 
     <mirrorOf>*</mirrorOf> 
     <url>http://localhost:8081/nexus/content/groups/public</url> 
    </mirror> 
    </mirrors> 

    <profiles> 
    <profile> 
     <id>nexus</id> 
     <!--Enable snapshots for the built in central repo to direct --> 
     <!--all requests to nexus via the mirror --> 
     <repositories> 
     <repository> 
      <id>central</id> 
      <url>http://central</url> 
      <releases><enabled>true</enabled></releases> 
      <snapshots><enabled>true</enabled></snapshots> 
     </repository> 
     </repositories> 
    <pluginRepositories> 
     <pluginRepository> 
      <id>central</id> 
      <url>http://central</url> 
      <releases><enabled>true</enabled></releases> 
      <snapshots><enabled>true</enabled></snapshots> 
     </pluginRepository> 
     </pluginRepositories> 
    </profile> 
    </profiles> 

    <activeProfiles> 
    <!--make the profile active all the time --> 
    <activeProfile>nexus</activeProfile> 
    </activeProfiles> 
</settings> 
+0

あなたの設定についてもっと知る必要があります。 settings.xmlまたはpom.xmlにプラグインリポジトリを使用していますか? – Michael

+0

@Michaelあなたの言うとおり、settings.xmlが追加されました。しかし、私は、問題はそれにないと思う。他のすべての依存関係をnexusからダウンロードすることができます:ホストされたリポジトリからの私の依存関係と、プロキシリポジトリからの他のすべての依存関係。プラグインをダウンロードするには、のようにマークしてください。しかし、私が mavenのように設定しようとすると、それを見つけることができません。 – Sergey

答えて

8

問題が解決しました。まあ、私は方法がわからないが、今日はすべて仕事です。問題はNexusのキャッシュにあったと思う。私は自分のホストされたリポジトリを削除し、それをもう一度作成しました。おそらく、それほど根本的な方法はありませんが、私はそれらを知らない=)アーティファクトを削除し、私の場合は役に立たない「キャッシュを期限切れにする」。

私の質問の答え:インストールプラグインと非プラグインアーティファクトは、Nexusで違いはありません。 GAV定義:GAVパラメータを選択する場合は、コンボボックスの「パッケージ化」で「maven-plugin」を選択する必要があります。

ステップバイステップの手順を書く必要はないと思いますが、それは非常に簡単です。ホストされたリポジトリ - > Artifact Uploadタブを選択し、必須フィールドに入力してください。

4

また、Mavenプラグインのpomもアップロードする必要があります。そうしないと、Nexusは正しくないものを自動的に生成します。つまり、バージョン、アーティファクトID、パッケージング、およびグループIDからなる基本的なポームにすぎません。

関連する問題