1

我有一个myapp-logic带有类的 JAR,其中一些是混淆的,一些是非混淆的。

我想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)

myapp-logic当我用 Jad打开混淆的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参考 obfuscated 编译代码myapp-logic)?

4

1 回答 1

2

试试看是否有帮助:在您的 Proguard 规则中,尤其是保留签名可能会有所帮助。

<keepattribute name="*Annotation*" />
<keepattribute name="Signature" />
<keepattribute name="Exceptions" />
于 2012-11-22T19:22:36.073 回答