メモリが機能する場合は、別のクラスを拡張するクラス、またはインターフェイスを実装するクラスを指定できますが、両方を指定することはできません。ドキュメントはこれを特に明確にしませんが、そこに暗示されています。
どちらか一方を指定するだけでは不十分であると仮定すると、これを回避する方法はいくつかあります。
- 空の「マーカー」インターフェースを作成し、それを拡張したいクラスを作成します。
- 保持する各クラスに静的(必要に
private static final
応じて)マーカーフィールドを追加し、-keepオプションで指定します。
- 弾丸をかみ、保持したいすべてのクラスの名前をリストするだけです。
編集
別のオプションは、次のようなクラスを作成することです。
public abstract class Foo extends com.opensymphony.xwork2.ActionSupport implements com.company.project.utils.Constantes {
// ...
}
次に、保持したいすべてのクラスにそのクラスを拡張させます。* extends Foo
次に、-keepオプションで指定する必要があります。