Nexusリポジトリにはアーティファクトが含まれていますが、POMのみを利用できるようにします

StackOverflow https://stackoverflow.com/questions/3189714

  •  02-10-2019
  •  | 
  •  

質問

私は、非インターネットに接続された企業開発ドメインでホストされているMaven 2リポジトリを含むNexusインスタンスを持っています。使用する必要があります Maven-Jaxb-Schemagen ただし、Sunからのプラグインは、Maven 1形式でのみ利用可能でした(他の多くのMaven 1依存関係とともに、これは1回限りのエッジケースではありません)。

Nexusで新しいMaven 1ホストリポジトリを作成しました(Maven1)、Maven1-to-Maven2仮想リポジトリも作成しました(maven1as2)。必要なアーティファクトのいくつかはスナップショットであるため、 Maven1 (そして拡張により maven1as2) は スナップショット.

ファイルシステムを介してすべてのMaven 1アーティファクトをこのリポジトリのオーバーライドされたローカルストレージの場所にインポートしました。

それから追加しました maven1as2 わたしの 公開リポジトリ グループ。私が見つけたリファレンスの一部は、NexusがMaven1リポジトリを閲覧または検索することを許可しないと言っています。私はさまざまな結果を得ました。選択した場合 公開リポジトリ また maven1as2 ネクサスでは、行くことができます ストレージを閲覧します そして、ドリルダウンします com/sun/tools/jxc/maven2/maven-jaxb-schemagen-plugin/1.3-snapshot/ を表示します maven-jaxb-schemagen-plugin-1.3-snapshot.pom ファイルとそのチェックサム。ただし、表示することはできません そこにあるはずであり、ファイルシステムにあるアーティファクト。

Mavenを使用して構築しようとすると、次のことがわかります。

$ mvn clean compile
[INFO] Scanning for projects...
[INFO] Reactor build order:
[INFO]   MyProject
[INFO]   MyModule1
[INFO]   MyModule2
         ...
[INFO] ---------------------------------------------------------------------------
[INFO] Building MyProject
[INFO]    task-segment: [clean, compile]
[INFO] ---------------------------------------------------------------------------
[INFO] [clean:clean {execution: default-clean}]
[INFO] [cobertura:clean {execution: default}]
[INFO] No goals needed for project - skipping
[INFO] ---------------------------------------------------------------------------
[INFO] Building MyModule1
[INFO]    task-segment: [clean, compile]
[INFO] ---------------------------------------------------------------------------
Downloading: http://my.nexus.server:8081/nexus/content/groups/public/com/sun/tools/jxc/maven2/maven-jaxb-schemagen-plugin/1.3-SNAPSHOT/maven-jaxb-schemagen-plugin-1.3-SNAPSHOT.pom
6K downloaded (maven-jaxb-schemagen-plugin-1.3-SNAPSHOT.pom)
[INFO] ---------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ---------------------------------------------------------------------------
[INFO] A required plugin was not found: Plugin could not be found - check that the goal name is correct: Unable to download the artifact from any repository

Try downloading the file manually from the project website.

Then, install it using the command:
    mvn install:install-file -DgroupId=com.sun.tools.jxc.maven2 -DartifactId=maven-jaxb-schemagen-plugin -Dversion=1.3-SNAPSHOT -Dpackaging=maven-plugin -Dfile=path/to/file

Alternatively, if you host your own repository you can deploy the file there:
    mvn deploy:deploy-file -DgroupId=com.sun.tools.jxc.maven2 -DartifactId=maven-jaxb-schemagen-plugin -Dversion=1.3-SNAPSHOT -Dpackaging=maven-plugin -Dfile=path/to/file -Durl=[url] -DrepositoryId=[id]


  com.sun.tools.jxc.maven2:maven-jaxb-schemagen-plugin:1.3-SNAPSHOT

from the specified remote repositories:
  nexus (http://my.nexus.server:8081/nexus/content/groups/public)


  com.sun.tools.jxc.maven2:maven-jaxb-schemagen-plugin:1.3-SNAPSHOT

from the specified remote repositories:
  nexus (http://my.nexus.server:8081/nexus/content/groups/public)

[INFO] ---------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO] ---------------------------------------------------------------------------
[INFO] Total time: 2 seconds
[INFO] Finished at: Tue Jul 06 15:05:08 EDT 2010
[INFO] Final Memory: 7M/17M
[INFO] ---------------------------------------------------------------------------
役に立ちましたか?

解決

M2eclipseを使用するときに起こることがあります。依存関係を選択し、デフォルトのスコープはjarではなくPOMです。 POMファイルは表示されませんでした。すべての依存関係がJARスコープされていることを検証します。

他のヒント

リポジトリのメタデータを再構築するほとんどの時間は、そのような問題を解決するのに役立つことを学びました。これがどれくらいの頻度で必要かが迷惑だと思います。

  • リポジトリを選択します
  • 参照ストレージ]タブで、ルートノードのコンテキストメニューを開きます(Firefoxデフォルトのコンテキストメニューの後ろに隠されることもあります - この場合にESCを押すのに役立ち、Nexusコンテキストメニューを表示します)
  • メタデータを再構築することを選択します

キャッシュの有効期限が切れ、場合によってはリデックスも役立つ場合があります。
ほとんどの場合、これらの手順は最初の試みで問題を解決しませんでしたが、ついに彼らは毎回それを解決しました。

私はグラスフィッシュ2.1で戦争としてネクサスを走らせます

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top