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 JAR
kilo-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文件