2014-12-05 30 views
5

Próbuję użyć wiosennego schematu AOP. Kod skompilowany bez błędu. Kiedy próbowałem go uruchomić, otrzymałem powyższy wyjątek. Używam netbeans IDE 8.0.1. Mam następujące biblioteki i pliki JAR włączone.Jak rozwiązać błąd java.lang.NoClassDefFoundError: org/aopalliance/aop/Advice error?

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 

Oto moja spring.xml plik konfiguracyjny

<?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> 

Są to najnowsze pliki jar, które są dostępne z każdego wydawcy. Nie widziałem klasy Advice w słoju z dodatkami Aopalliance. Szukałem tego problemu. Wygląda na to, że klasa Advice mogła zostać usunięta z słoika z dodatkami. Nie mogłem tego przeszukać. Czy ktoś wie, jak rozwiązać ten problem, nie mówiąc mi, żeby użyć Mavena :)?

Odpowiedz

8

Nie wiem, co to jest aopalliance-alpha1. Potrzebujesz aopalliance, który jest w wersji 1.0. Możesz go uzyskać here. (Pobierz JAR, jeśli nie korzystasz z Mavena.)

+0

Mam ten plik jar ze strony internetowej Aopalliance. Nie mogłem znaleźć pliku AOPalliance. Link, który podałeś, wskazuje na aopalliance-alpha1. – tadpole

+0

@tadpole Co to znaczy, że wskazuje na aopalliance-alpha1? Jest link 'Download (JAR)'. Użyć tego. –

+0

Ok. Mam błędny link. Śledziłem ten link z appliance.sourceforge.net zamiast tylko pliku artefaktów. Dziękuję Ci. – tadpole

-2

Ten sam błąd wystąpił również w moim eclipse env.

Przyczyna: Do pracy na przykładach z wiosny, z sieci pobrałem pliki "aopalliance-.jar.zip", "aspectj-1.6.9.jar.zip", "aspectjrt.jar.zip", " aspectj-weaver.jar.zip "i zawarł go bezpośrednio w ścieżce budowania java. Błąd, który tu popełniłem, polegał na tym, że nie wyodrębniłem plików jar z pliku zip, zamiast tego bezpośrednio dodałem plik .jar.zip do ścieżki budowania java.

Poprawka: wyodrębnij pliki jar z wyżej wymienionych plików .jar.zip iw punkcie zaćmienia do plików jar zamiast plików zip, a następnie zacznie działać.

1

Wystąpił ten sam błąd, co przy dodawaniu Aopalliance-alpha1.jar zamiast aopalliance.jar. Dodałem właściwy słoik i zaczęło działać.