gradle - 在OSGi胖子装束中查找重复的JAR

标签 gradle sbt osgi apache-felix fatjar

我目前正在开发一个导致在OSGi上下文(Apache Felix)中运行的胖JAR的项目。有没有一种方法/命令来检查我嵌入到胖子 jar 中的某些 jar 是否还可以从其他 bundle 包和服务中获得,以便我可以将它们删除(从而使胖子 jar 变小)?

之所以要构建一个胖 jar ,是因为我正在使用其他构建系统来构建我的 jar 。 (我使用的是Scala和SBT,其他所有内容都是使用Java&Gradle构建的)

最佳答案

我不知道有任何自动化工具可以执行此操作,但是Apache Felix有两个可以帮助您找到重复项的工具:

  • /system/console/depfinder
  • /system/console/status-duplicate_exports

  • 特别是,第二个应该可以帮助您。它列出了导出多次的软件包,然后列出了导出那些软件包的 bundle 软件。如果您的 bundle 包出现在此列表中,则说明您知道另一个 bundle 包会导出胖 bundle 包中的软件包。

    但是与depfinder一样,您将必须手动浏览列表或编写一些脚本来帮助您。

    关于gradle - 在OSGi胖子装束中查找重复的JAR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55570486/

    相关文章:

    java - 如何将 JFROG 工件添加到 sbt.build 文件中?

    java - 以正确的方式实现白板模式?

    java - 找不到 EclipseLink 到 OSGI Bundle persistence.xml

    android - 在命令行或Android Studio中使用Gradle?

    git - 带有 Git : How should the . gitignore 的 IntelliJ 上的 Scala 看起来像什么?

    scala - 运行 "clean"所有依赖的 SBT 子项目

    java - 如何使用 org.osgi.service.prefs.Preferences.clear()

    java - 收缩库代码

    gradle - 如何检查gradle是否真正解决了传递POM依赖关系?

    Android 和 gradle 在签署应用程序时使用旧的不存在的 keystore