こんにちは、Java (mvn コンソールではなく) を使用して Maven プロジェクトのすべての依存関係を取得できる簡単な方法がありますか、または mvn で使用されるアルゴリズムは何ですか? ありがとう
モデル (org.apache.maven.model) が見つかりました。以下のコードは、変数 (たとえば、'<'version>${mavenVersion}'</'/version>) が見つかるまで機能します。
System.out.println("依存関係" + d.getArtifactId()); if(d.isOptional()){ 戻る; } if(d.getVersion()==null){ if(mod.getParent()!=null){ 試す{ MavenArtifact mart=new MavenArtifact(); mart.setArtifactId(mod.getParent().getArtifactId()); mart.setGroupId(mod.getParent().getGroupId()); mart.setVersion(mod.getParent().getVersion()); mart.setRepositoryUrl(mA.getRepositoryUrl()); モデル fMod = getModelFromPom(mart, p); if(fMod.getDependencyManagement()!=null){ for (依存関係 dep : fMod.getDependencyManagement().getDependencies()) { if(dep.getArtifactId().equals(d.getArtifactId())&dep.getGroupId().equals(d.getGroupId())){ getDependency (fMod、マート、p、dep); } } for (依存関係 dep : fMod.getDependencies()) { if(dep.getArtifactId().equals(d.getArtifactId())&dep.getGroupId().equals(d.getGroupId())){ getDependency (fMod、マート、p、dep); } } }} キャッチ(例外e){ e.printStackTrace(); view.showWarning("見つかりませんでした: groupId:" + d.getGroupId() + "artifactId" + d.getArtifactId() + "バージョン:" + d.getVersion()); } }そうしないと{ view.showWarning("見つかりませんでした: groupId:" + d.getGroupId() + "artifactId" + d.getArtifactId() + "バージョン:" + d.getVersion()); } }そうしないと{ MavenArtifact m = proxy.findDependency(d.getGroupId(), d .getArtifactId()、d.getVersion()); もし (m == null) { view.showWarning("見つかりませんでした: groupId:" + d.getGroupId() + "artifactId" + d.getArtifactId() + "バージョン:" + d.getVersion()); 戻る; } importMavenArtifact(m, p);