4

私は自分のクラスを難読化し、Spring 構成 xml を手動で更新しましたが、問題は、プロガードがセッター メソッドの名前を変更し、それらを次のようなものに変えたことです。

public void d(a a){
b= a;
}

そのため、Spring がリフレクション setB("something") によって呼び出そうとすると、クラッシュします。難読化するときに反射エラーを回避する良い方法は何ですか? 何かご意見は

4

2 に答える 2

5

これらのクラスを難読化することは避ける必要があります。それらを除外するには、 -keepオプションを使用します。別の方法は、XML の代わりにSpring JavaConfigを使用することです。そうすれば、構成も難読化されます。

于 2012-04-16T12:10:56.597 に答える
2

Spring Bean スキーマによると、プロパティ名は次のように定義されます。

JavaBean 命名規則に従ったプロパティの名前。

また、JavaBean 仕様によると、setter は で始まる必要がありsetます。classNameクラスを提供して代替セッターを指定することでこれを回避できる場合がありますがBeanInfo、Proguard は名前も難読化すると思います...

于 2012-04-16T12:29:04.350 に答える