有一个业务模块-在其中一个应用程序中说kilo-business。现在,此模块中有一些API供其他应用程序使用(在组织内本地-例如kilo-client1)。我使用Proguard(通过其maven插件)仅提取与API相关的类并从中制作出JAR-缩小的API JAR,称为kilo-business-apiskilo-client1使用此kilo-business-apis依赖关系并调用服务。作为一项策略,我们总是包括源以及我们在应用程序之间共享的任何工件(以简化调试和其他文档)。

在这种情况下,有没有一种方法可以使Proguard还提供(可能的)源文件(属于kilo-business模块),它从该文件中为kilo-business-apis提供了源,可以使用这些源文件来构想源JAR ?实际上,我们不会将JAR缩小到从类中删除未使用的方法/变量的程度,因此给出源Java文件也足够了。

我知道即使我们不发布jd-eclipse或在eclipse中使用其他反编译器来帮助调试,但我想检查是否可以生成第一类源代码,从而满足文档需求。

一种想法是将kilo-business本身分解为kilo-business-apis的单独模块,其中仅包含API定义,并且kilo-businesskilo-client1都可以使用它,但是不幸的是,由于遗留原因,我不能这样做。

提前致谢!

最佳答案

ProGuard可以选择写出有关保留的入口点(-printseeds),未使用的代码(-printusage)和混淆映射(-printmapping)的信息,但与源文件无关。如果不混淆代码,则只需在处理后的输出中列出.class名称,然后找到相应的.java文件。

08-03 20:04