gpt4 book ai didi

java - ProGuard:使用混淆的 JAR 时出现问题

转载 作者:行者123 更新时间:2023-11-30 04:36:00 30 4
gpt4 key购买 nike

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

我想在名为 myapp-web 的 Web 应用程序中使用 myapp-logic。当我将 myapp-logic 的混淆版本添加到 myapp-web 的依赖项时,我收到以下错误消息(当我运行 mvn cleancompile >):

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 接口(interface)未混淆(或看起来未混淆):

enter image description here

原始代码:

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 进行编译)?

最佳答案

尝试一下是否有帮助:在您的 Proguard 规则中,尤其是 keep Signature 可能会有所帮助。

<keepattribute name="*Annotation*" />
<keepattribute name="Signature" />
<keepattribute name="Exceptions" />

关于java - ProGuard:使用混淆的 JAR 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13518872/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com