プロジェクトのルートから始まる依存関係ツリー全体とそのポームを取得しようとしています。私は既にファイルシステムに存在するPOMから始めていますが、リポジトリから依存関係ポームを取得する方法がわかりません。MavenのJava APIを使用してMaven Artifact POMにアクセスするにはどうすればよいですか?
次のコードを使用して依存関係リストにアクセスしています。リストから私はアーティファクトに関するすべての情報を持っています。私はリポジトリにアクセスする方法がわかりません。
FileReader reader = null;
Model model = null;
MavenXpp3Reader mavenreader = new MavenXpp3Reader();
File pomfile = new File("pom.xml");
model.setPomFile(pomfile);
MavenProject project = new MavenProject(model);
List<Dependency> deps = project.getDependencies();
// Get dependency details
for (Dependency d: deps) {
System.out.print(d.getArtifactId());
System.out.print(":");
System.out.println(d.getVersion());
}
私は実際には、Maven APIを使用してローカルリポジトリ(中央リポジトリではなく)からプログラムを検索しています。私はファイルシステムを通じてローカルリポジトリを探すことができましたが、これはどのユーザーでも動作する必要があるため、APIがより適切であると考えました。 – davdic
@rlegendiあなたのユースケースはわかりませんが、一部の公開メインライブラリの依存関係だけが必要な場合は、VersionEye API(https://www.versioneye.com/api?version=v2)を使用できます。これはREST JSON APIで、使いやすいです。 –
@RobertReiz @ davdicへのあなたのコメントに対処しませんでしたか? :-)とにかく、リンクのためのthxが、それは商用とベータ製品のようです。 – rlegendi