安装具有传递依赖/依赖树的第三方库?全自动的吗?

时间:2015-10-13 18:33:57

标签: maven

我遇到了以下问题中提到的类似问题:Install 3rd Party Libraries with Transitive Dependencies / Dependency Tree?

我将从下面引用最重要的部分:

  

我知道mvn install:install-file会安装一个JAR。但是怎么样   在这样的repsoitory本地安装:

+ Parent.jar
  + ChildA.jar (Requuired by Parent)
    + ChildB.jar (Required by Child A)
     

使其更加复杂和现实生活:Parent.jar和ChildA.jar   是公共专家中没有的传统/商业Jars   存储库但Child B是一个在公众中找到的jar   存储库(例如像记录jar)。

     

更新:我不仅想在本地安装它们(使用系统)   依赖)但也正确地#34;将它们与maven整合,所以我   可以将此依赖关系树重新分发给其他开发人员或   public(我认为这对maven来说很重要),所以maven知道   并了解dependecytree(以避免版本冲突,   不必要的下载等...)

我有类似的案例罐是遗产和商业我会将它们部署到内部公司存储库。

解决方案很简单,我在找到问题之前想到了,为每个jar编写pom并使用语法mvn install:install-file -Dfile=<path-to-file> -DpomFile=<path-to-pomfile>导入它们。但在我的情况下,有超过200个罐子,共有超过10,000个类文件。这就是为什么我想知道是否有软件可以为我提供简单的可解析和/或可处理的输出,告诉我哪个罐子取决于哪个。否则可能需要花费大量时间手动完成。打开每个jar,反编译每个类,找到它引用的类,是否来自其他jar(哪个?)。

我认为应该可以实现自动化,因为类加载器会做类似的事情。如果它需要加载某个类,则必须加载该特定类使用的类,因此有一种方法可以知道引用了哪些类。你可以告诉哪些类属于哪些档案。

我也知道我可能无法导入它们,因为来自不同jar的类之间存在一些循环依赖关系。如果软件说 - 如果不可能的话,我就没问题。这实际上是我不想手动完成的另一个原因,并在2周后承认我只是在浪费时间。

所以想知道这样的软件是否存在?

0 个答案:

没有答案