java - 查找jar中的所有依赖项

标签 java jar package

在我的程序中使用第三方库之前,我想确保它包含的所有 Material 对于我来说都是合法的。例如我有 jline jar来自 repo1.maven.org

我想确认它有哪些软件包,所以我运行以下命令:

$ unzip -l jline-2.13.jar
 Length      Date    Time    Name
---------  ---------- -----   ----
        0  08-10-2015 18:32   META-INF/
      989  08-10-2015 18:32   META-INF/MANIFEST.MF
        0  08-10-2015 18:32   jline/
... // more jline files
        0  08-10-2015 18:32   META-INF/maven/
... // more maven files
        0  08-10-2015 18:32   org/
        0  08-10-2015 18:32   org/fusesource/
        0  08-10-2015 18:32   org/fusesource/hawtjni/
... // more hawtjni files
        0  08-10-2015 18:32   org/fusesource/jansi/
... // more jansi files
---------                     -------
   549270                     133 files
$

从这个输出中,我看到使用了 jline、hawtjni 和 jansi,因此我去查找许可证文件:

我还应该做其他事情来确保不使用其他软件包吗?

<小时/>

额外问题:因为这些都是 Apache 和 BSD 许可证(并且我不编辑它们的内容或显示它们的产品名称),我是否只需声明这些库在我的项目中使用并包含它们各自的许可证? 这可能在合法堆栈交换中更好地询问。

最佳答案

给定库的许可证应声明或包含与其捆绑/包含的其他依赖项的许可证。如果该库具有传递性 Maven 依赖项,那么您需要检查其 pom.xml 文件以查看它在构建时还引入了哪些内容,并分别举例说明了这些文件的许可证。

关于java - 查找jar中的所有依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35852407/

相关文章:

java - 获取 .jar 文件到手机错误

java - 检查包中的最大类数

带有 Beanshell 的 Java 以干净的代码访问字段和对象

java - 斜线 ("/") 添加到我的返回 URL

json - 如何在齐柏林飞艇中添加一个 jar ?

java - 从 Eclipse 导出的 JAR 中排除 JUnit

java - 在代码中检测 PDF 包或组合

r - 在 R 中创建新的 S3 类方法

java - Controller 不支持 Spring

java - Tomcat websocket 客户端框架