Java 获取org.apache.maven.project.MavenProject的maven依赖项列表

Java 获取org.apache.maven.project.MavenProject的maven依赖项列表,java,maven,Java,Maven,我试图使用org.apache.maven.project.MavenProject获取一些maven工件的依赖项列表 我的代码是这样的 公共列表加载项目(){ 模型mavenModel=新模型(); setModelVersion(“4.0.0”); mavenModel.setGroupId(“org”); mavenModel.setArtifactId(“wso2”); mavenModel.setVersion(“1.0.0”); addDependency(mavenModel,“c

我试图使用
org.apache.maven.project.MavenProject
获取一些maven工件的依赖项列表

我的代码是这样的

公共列表加载项目(){
模型mavenModel=新模型();
setModelVersion(“4.0.0”);
mavenModel.setGroupId(“org”);
mavenModel.setArtifactId(“wso2”);
mavenModel.setVersion(“1.0.0”);
addDependency(mavenModel,“com.google.inject”,“guice”,“4.2.2”);
addDependency(mavenModel,“ch.qos.logback”,“logback classic”,“1.2.3”);
MavenProject MavenProject=新的MavenProject(mavenModel);
//*******需要解决“mavenProject”和*******
//*******获取此项目的依赖项列表*******
返回依赖项;
}
私有静态void addDependency(模型mavenModel、字符串groupId、字符串artifactId、字符串版本){
依赖项=新依赖项();
依赖项setGroupId(groupId);
dependency.setArtifactId(artifactId);
dependency.setVersion(版本);
mavenModel.addDependency(dependency);
}
基本上,我试图通过编程获得依赖关系树结果,该结果通过
mvn dependency:tree
命令作为列表返回

示例 对于工件:

  • com.google.inject:guide:4.2.2
  • ch.qos.logback:logbackclassic:1.2.3
依赖项列表:

List = [
com.google.inject:guice:jar:4.2.2:compile,
javax.inject:javax.inject:jar:1:compile,
aopalliance:aopalliance:jar:1.0:compile,
com.google.guava:guava:jar:25.1-android:compile,
com.google.code.findbugs:jsr305:jar:3.0.2:compile,
org.checkerframework:checker-compat-qual:jar:2.0.0:compile,
com.google.errorprone:error_prone_annotations:jar:2.1.3:compile,
com.google.j2objc:j2objc-annotations:jar:1.1:compile,
org.codehaus.mojo:animal-sniffer-annotations:jar:1.14:compile,
ch.qos.logback:logback-classic:jar:1.2.3:compile,
ch.qos.logback:logback-core:jar:1.2.3:compile,
org.slf4j:slf4j-api:jar:1.7.25:compile
]

您可以使用方法
public Set。

Tunaki在@NikhilZurunge回答了类似的问题,但这里我不想通过创建pom文件来创建maven项目。我想使用
org.apache.maven.project.MavenProject
这些信息仅在maven构建期间可用,这意味着在maven插件的上下文中可用。如果你只是简单地阅读pom文件,你就没有这些信息……没有依赖管理的解析(如果你使用它)等等。我想知道是否有任何java方法或类来解析
MavenProject
Objective的依赖关系。我猜你假设代码应该在Maven构建期间运行(作为Maven插件),但是OP想要在Maven跑步之外跑步。@JFMeier是的,你是对的。似乎我没有这个用例的解决方案:/