2014-12-05 25 views
5

Yay AOP çerçevesini kullanmaya çalışıyorum. Kod hatasız derlenmiştir. Çalıştırmaya çalıştığımda yukarıdaki özel durum var. Ben net IDI 8.0.1 kullanıyorum. Aşağıdaki kitaplıklara ve jar dosyalarına sahibim.java.lang.NoClassDefFoundError nasıl çözümlenir: org/aopalliance/aop/Tavsiye hatası?

1) Spring Framework 4.0.1 
2) aspectjrt.jar 
3) aspectjweaver.jar 
4) aopalliance-alpha1.jar 
5) asm-5.03.jar 
6) cglib-3.1.jar 

İşte Bunlar her yayıncı edinilebilir son kavanoz dosyalarıdır benim spring.xml yapılandırma dosyası

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xmlns:aop="http://www.springframework.org/schema/aop" 
     xmlns:context="http://www.springframework.org/schema/context" 

     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd 
      http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd 
      http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd 
"> 

    <aop:aspectj-autoproxy/> 

    <bean name="triangle" class="springaop.Triangle"> 
     <property name="name" value="My Triangle" /> 
    </bean> 

    <bean name="circle" class="springaop.Circle"> 
     <property name="name" value="My Circle" /> 
    </bean> 

    <bean name="shapeService" class="springaop.ShapeService" autowire="byName" > 
    </bean> 

    <bean name="loginAspect" class="springaop.LoginAspect" /> 

</beans> 

olduğunu. Aopalliance kavanozunda herhangi bir yerde Tavsiye sınıfını görmedim. Bu problemi araştırdım. Tavsiye sınıfının, aopalliance kavanozundan çıkarılmış olabileceği görülmektedir. Onu aramadım. Maven'i kullanmamı söylemek dışında, bu sorunu nasıl çözeceğimi bilen var mı?

cevap

8

aopalliance-alpha1'un ne olduğunu bilmiyorum. 1.0 sürümünde olan aopalliance'a ihtiyacınız var. here'u alabilirsiniz. (Maven kullanmıyorsanız, JAR'ı indirin.)

+0

Bu kavanoz dosyasını aopalliance web sitesinden aldım. Aopalliance dosyasını bulamadım. Sağladığınız bağlantı, aopalliance-alpha1'i işaret ediyor. – tadpole

+0

@tadpole Ne demek aopalliance-alpha1 işaret ediyor? 'İndir (JAR)' bağlantısı var. Bunu kullan. –

+0

Tamam. Yanlış bağlantı var. Bu bağlantıyı artifact dosyası yerine appliance.sourceforge.net adresinden takip ettim. Teşekkür ederim. – tadpole

-2

Ayrıca, eclipse env'de de aynı hatayı aldım.

Neden: Yaylı yay örnekleri üzerinde çalışmak için, ağdan 'aopalliance-.jar.zip', 'aspectj-1.6.9.jar.zip', 'aspectjrt.jar.zip', 'dosyalarını indirdim. aspectj-weaver.jar.zip 've doğrudan java oluşturma yoluna dahil edildi. Burada yaptığım hata, jar dosyalarını zip dosyasından ayıklamamıştı, bunun yerine .jar.zip dosyasını java oluşturma yoluna doğrudan ekledim.

Düzeltme: Belirtilen .jar.zip dosyalarından ve tutulduğu dosyadan jar dosyalarını zip dosyaları yerine jar dosyalarına ayıklayın, sonra çalışmaya başlayacaktır.

1

aopalliance.jar yerine aopalliance-alpha1.jar dosyasını ekledim. Doğru kavanozu ekledim ve çalışmaya başladı.