问题标签 [jarjar]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 如何从命令行使用 jarjar?
我无法从命令行使用 jarjar 将简单的 Scala 程序与 scala 运行时库结合起来。
jarjar 正确检测依赖关系:
但是,将它们组合起来不起作用:
我得到的 jar 文件仍然依赖于 scala-library.jar。我是否添加 CLASSPATH 变量没有区别。我的 rules.jjl 文件如下所示:
该怎么办?
java - 收缩 jar 及其依赖项
我有一堆罐子,如 a.jar、b.jar、c.jar、d.jar。a.jar 正在使用剩余的罐子。我在 a.java 中使用 Test.java,剩下的 jars 由 a.java 使用。
我想做一个只包含必要类的小罐子。其实我已经注意到 jarjar 工具,但它的文档并不闪亮。
顺便说一句,我没有使用 Maven。
有什么帮助吗?
谢谢
maven - 如何使用 Maven 创建 JarJar'd 工件,其中使用工件不会拉取传递依赖项?
我目前有一个用 Maven 构建的 Java 测试库,并作为 jar 分发。我的项目依赖于一个非常常见的库(Objectweb ASM),并且我遇到了一些问题,即早期且不兼容的 ASM 版本已经在类路径中。因此,我开始使用jarjar-maven-plugin创建 jar,在内部重新打包 ASM,使其不会与其他版本的 ASM 冲突。
这执行得很好,我的库可以毫无问题地作为依赖项引入。
然而,因为我的项目在 ASM 上有编译范围的依赖,所以每当一个客户端项目添加我的库时,传递依赖也都被引入。因此,假设他们使用特定版本的 ASM,并且他们还将我所依赖的版本添加到类路径中,他们的行为未定义。我想避免这种情况,并允许客户依赖 JarJar'd 工件,而不会让 Maven 不必要地和潜在地危险地拉下传递依赖项。
如何创建用户可以依赖的 JarJar'd 工件而不拉取传递依赖?
java - Android:错误包括/重新打包引用 javax 核心类的依赖项
我正在开发一个使用 Maven 作为构建工具的 Android 应用程序。我设法正确设置了evertyhing(maven依赖项被导出到apk等),但是我还有一个让我发疯的问题。
我想在我的 POM 文件中包含对simpleframework 的 xml 解析器的依赖关系,如下所示:
当我发布mvn install
项目时,我收到以下错误(截断):
我知道错误是由引用这些 javax 类的简单 xml 解析器导致的,但是我还没有找到解决方案(设置 --core-library 标志没有用)。
我目前正在尝试使用 maven-jarjar-pluging 重新打包依赖项,但这似乎也不起作用。
谁能帮我解决这个问题?非常非常感谢提前!
java - Maven JarJar 插件:排除“提供”范围?
有没有办法让 Maven JarJar 插件排除“提供”范围内的项目?这看起来很简单......如果提供了一些东西,我为什么要将它包含在我的 megajar 中?
ant - 如何使用 zipfileset src 属性而不必为我的所有 jar 手动指定它?
我目前有这个:
问题是我必须手动指定每个 jar,因为我需要考虑 src 参数。我想要这样的东西:
并将它们的内容提取并包含在我生成的存档中。这可能吗?
java - 如何使用 jarjar 从默认包中重新打包 .class 文件?
是否可以将 jar 中的 .class 文件从默认包移动到另一个命名包,以便我可以导入和使用它们?
在这里浏览其他问题后,我认为 jarjar 可能正是我正在寻找的东西,但我不知道如何使用它。
所以我的问题是如何使用 jarjar 将 .class 文件从默认包重新打包到另一个命名包?
编辑:我想澄清一些事情 - 我没有要重新打包的 jar 的来源,所以我不知道如何重新编译代码。混淆和反射是不可能的。
EDIT2:使用 jarjar 看起来非常简单:) java -jar jarjar.jar process rules.rules in.jar out.jar
rules.rules 看起来像这样: rule a net.ylivay.src.a
问题解决了!
ant - 使用 Jar Jar Links 排除空目录
我正在使用来自Jar Jar Links的 Ant 任务将来自第 3 方 jar 文件(objenesis)的类嵌入到我的可分发 jar 文件(example.jar)中。Jar Jar 会将原始包 (org.objenesis) 中的类转换为我选择的一个。
它可以工作,但它会在可分发的 jar 中留下空目录。
这是一个简化的 build.xml:
example.jar 的内容示例包括(如预期的那样):
还有这些空目录(不受欢迎):
我的问题:如何排除这些空目录?
我尝试了“zap”选项(在文档中列出),但没有奏效。
gson - GSON + HTC 欲望:冲突。可能的解决方案 jarjar.jar 导致错误
我正在尝试在 Android 应用程序中使用 GSON,但它会导致崩溃。经过一番阅读,HTC 似乎包含了 GSON,这会导致冲突。一种建议的解决方案是使用 jarjar.jar 重命名 gson 类来解决冲突。当我尝试这样做时,我收到此错误:
语法错误:第 1 行错误:[{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf360]
我正在执行的命令:
java -jar jarjar-1.2.jar 进程 rules.txt gson-2.1.jar myjson-2.1.jar
rules.txt:规则 com.google.gson.** com.google.myjson.@1
有任何想法吗?