Java 通过proguard为模块中的收缩类创建源jar
其中一个应用程序中有一个业务模块,比如说Java 通过proguard为模块中的收缩类创建源jar,java,maven,proguard,Java,Maven,Proguard,其中一个应用程序中有一个业务模块,比如说kilo business。现在,此模块中有一些API将由另一个应用程序使用(在组织内部本地-例如kilo-client1)。我使用Proguard(通过它的maven插件)只提取与API相关的类,并用它制作一个JAR——称为kilo business API的压缩API JARkilo-client1使用此kilo业务API依赖项并调用服务。作为一项策略,我们总是包括源代码以及我们在应用程序之间共享的任何工件(以便于调试和附加文档) 在这种情况下,有没有
kilo business
。现在,此模块中有一些API将由另一个应用程序使用(在组织内部本地-例如kilo-client1
)。我使用Proguard(通过它的maven插件)只提取与API相关的类,并用它制作一个JAR——称为kilo business API
的压缩API JARkilo-client1
使用此kilo业务API
依赖项并调用服务。作为一项策略,我们总是包括源代码以及我们在应用程序之间共享的任何工件(以便于调试和附加文档)
在这种情况下,有没有一种方法可以让Proguard也给出(可能的)源文件(属于kilo business
模块),它从中为kilo business API
获取类,使用这些类可以变出一个源JAR?实际上,我们不会将JAR缩小到从类中删除未使用的方法/变量的程度,因此提供源java文件也就足够了
我知道,即使我们不发布jd eclipse或eclipse中的其他反编译器,也可以使用它来帮助调试,但我想检查一下我们是否可以生成第一类源代码,从而满足文档需求
一种想法是将kilo-business
本身分解为一个单独的模块,用于kilo-business API
,其中只有API定义,并且kilo-business
和kilo-client1
都可以使用它,但不幸的是,由于遗留的原因,我不能这样做
提前谢谢 ProGuard可以选择性地写出有关保留的入口点(-printseeds)、未使用的代码(-printusage)和混淆映射(-printmapping)的信息,但与源文件无关。如果不混淆代码,只需在处理后的输出中列出.class名称,并找到相应的.java文件