我有一个库列表。他们使用Maven,Ant或Gradle作为构建者。
我创建了两个Map<String, Set<String>>
个对象。第一张地图包含libraryName
和Set
结果工件,第二张地图的第一级依赖关系为libraryName
和Set
。
有些图书馆相互依赖。
所以这就是我的问题: 我需要根据彼此之间的依赖关系对所有库进行排序,从那些不依赖于其他库的库到最依赖的库。
答案 0 :(得分:0)
您的库形成依赖关系图,其中从A到B的弧表示“A取决于B”。您需要对图表进行排序,以便列表中的库不依赖于库。这个顺序是拓扑排序
https://en.wikipedia.org/wiki/Topological_sorting
并且可以实现,例如通过卡恩的算法。