我需要保留所有扩展com.opensymphony.xwork2.ActionSupport的类并实现自定义接口。
当我尝试这个
时-keepnames public class * extends com.opensymphony.xwork2.ActionSupport implements com.company.project.utils.Constantes {
*;
}
我收到以下错误:
错误期待在'implements'开放'{'
答案 0 :(得分:3)
如果内存服务,您可以指定扩展另一个实现接口的类OR类的类,但不能同时指定两者。 documentation并没有特别明确这一点,但暗示了这一点。
有几种方法可以解决这个问题,假设你只指定一个或另一个是不够的:
private static final
)标记字段,并在-keep选项中指定。修改强>
另一种选择是创建一个这样的类:
public abstract class Foo extends com.opensymphony.xwork2.ActionSupport implements com.company.project.utils.Constantes {
// ...
}
然后,让你想要保留的所有类扩展该类。然后,您只需在-keep选项中指定* extends Foo
。