在proguard模糊处理后,Endpoint.publish不起作用

时间:2018-04-16 15:31:29

标签: java java-8 proguard

我想要改变我的代码。 我的应用程序启动Web服务。

import javax.xml.ws.Endpoint;
@Override
protected void run() throws Exception {
    logger.info("Starting Server");
    basicHttpBinding_ITestServiceImpl = new BasicHttpBinding_ITestServiceImpl();
    logger.debug("BasicHttpBinding_ITestServiceImpl is created");
    ep = Endpoint.create(basicHttpBinding_ITestServiceImpl);
    logger.debug("Endpoint created");
    ep.publish(this.address);

    logger.info("Server ready...");
}

代码在混淆之前正常工作。 但是当我试图模糊我的代码时,执行是阻止 ep.publish(this.address);

有关信息,我使用 proguard 来模糊我的代码。

如果有人有任何想法? 在编译和混淆期间我没有问题。 我的班级没有被混淆(但其他班级是)。

1 个答案:

答案 0 :(得分:0)

你没有保留javax.xml.ws.Endpoint。您需要保留您正在使用的所有依赖项,以及您自己未编写的所有代码。否则,混淆它们会导致问题。请记住保留您正在使用的所有jar,并将以下行添加到您的配置中:

-keep class javax.xml.**;