競合

2012-04-24 19 views
0

ProGuardの難読化後、私は次のエラーを取得しますapplicationContext.xml];入れ子になっている例外は です。java.lang.IllegalStateException:注釈指定のBean名 'a' beanクラス[com.company.project.baaa]のための が、既存の と互換性のないbean定義と重複しています [com。私は、アノテーションベースのスプリング構成を使用しています。同じ名前を持つ2つのBeanを許可しないため、Proguardを使用して同じ名前の2つのクラスを使用しないようにするにはどうすればよいですか。競合

答えて

10

値私は、これはあなたが望むものであるかどうかわからないんだけど、あなたは@ComponentでBean名を指定します(と@Repository、@Serviceと@Controllerステレオタイプ)することができます

@Component("myBeanName") 
public class MyBean { 

} 
1

別の原因。クラスパスに異なるバージョンのSpringがあるかもしれません。例えば、spring 2.xとspring 3.x。このような状態では、豆は2度積み込まれたようです。 mavenを使用している場合、モジュールが古いバージョンのSpring(mvn dependency:tree)をインポートしていないかどうかを確認し、関連するspring artifact(除外)を除外して削除します。