我有一个带有类的JAR myapp-logic
,其中一些是混淆的,一些是非混淆的。
我想在名为myapp-logic
的网络应用程序中使用myapp-web
。当我将myapp-logic
的模糊版本添加到myapp-web
的依赖项时,我收到以下错误消息(当我运行mvn clean compile
时):
EntryPageController.java:[55,41] incompatible types
found : java.lang.Object
required: ru.altruix.ccp.logic.api.simfacade.SimulationFacade
带错误的代码如下所示:
final SimulationFacadeFactory factory = this.injector.getInstance(SimulationFacadeFactory.class);
simulationFacade = factory.create(); // The error occurs here (line 55)
当我用Jad打开混淆的myapp-logic
JAR时,SimulationFacadeFactory
接口没有被混淆(或者看起来没有被混淆):
原始代码:
package ru.altruix.ccp.logic.api.simfacade;
import ru.altruix.commons.api.conventions.Factory;
public interface SimulationFacadeFactory extends Factory<SimulationFacade> {
}
Eclipse没有显示该错误(它只出现在Maven中)。
我可以做些什么来修复错误(使myapp-web
的代码参考模糊myapp-logic
进行编译?
答案 0 :(得分:2)
尝试是否有帮助: 在您的Proguard规则中,特别是保持签名可能会有所帮助。
<keepattribute name="*Annotation*" />
<keepattribute name="Signature" />
<keepattribute name="Exceptions" />