Java 春季Aop“;“大约.类”;未找到类异常
这是我的观点:Java 春季Aop“;“大约.类”;未找到类异常,java,spring,jar,aspectj,spring-aop,Java,Spring,Jar,Aspectj,Spring Aop,这是我的观点: Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.aop.config.internalAutoProxyCreator': Instantiation of bean failed; nested exception is org.springframework
Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.aop.config.internalAutoProxyCreator': Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.springframework.aop.aspectj.annotation.AnnotationAwareAspectJAutoProxyCreator]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: org/aspectj/lang/annotation/Around
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1095)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1040)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:505)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:302)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:229)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:298)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:198)
at org.springframework.context.support.PostProcessorRegistrationDelegate.registerBeanPostProcessors(PostProcessorRegistrationDelegate.java:220)
at org.springframework.context.support.AbstractApplicationContext.registerBeanPostProcessors(AbstractApplicationContext.java:615)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:465)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
at com.springaoppractice.aop.AopMain.main(AopMain.java:12)
Caused by: org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.springframework.aop.aspectj.annotation.AnnotationAwareAspectJAutoProxyCreator]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: org/aspectj/lang/annotation/Around
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:163)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:89)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1088)
... 13 more
Caused by: java.lang.NoClassDefFoundError: org/aspectj/lang/annotation/Around
at org.springframework.aop.aspectj.annotation.ReflectiveAspectJAdvisorFactory.<clinit>(ReflectiveAspectJAdvisorFactory.java:74)
at org.springframework.aop.aspectj.annotation.AnnotationAwareAspectJAutoProxyCreator.<init>(AnnotationAwareAspectJAutoProxyCreator.java:53)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:147)
... 15 more
package com.springaoppractice.aop;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.springaoppractice.aop.service.ShapeService;
public class AopMain {
public static void main (String[] args){
ApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");
ShapeService shapeService = context.getBean("shapeService", ShapeService.class);
System.out.println(shapeService.getCircle().getName());
}
}
package com.springaoppractice.aop.aspect;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
@Aspect
public class LoggingAspect {
@Before("execution(public String getName())")
public void LoggingAdvice (){
System.out.println("Logging advice initiazlied, get method is called!");
}
}
package com.springaoppractice.aop.service;
import com.springaoppractice.aop.model.Circle;
import com.springaoppractice.aop.model.Triangle;
public class ShapeService {
private Circle circle;
private Triangle triangle;
public Circle getCircle() {
return circle;
}
public void setCircle(Circle circle) {
this.circle = circle;
}
public Triangle getTriangle() {
return triangle;
}
public void setTriangle(Triangle triangle) {
this.triangle = triangle;
}
}
这是我的服务类:
Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.aop.config.internalAutoProxyCreator': Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.springframework.aop.aspectj.annotation.AnnotationAwareAspectJAutoProxyCreator]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: org/aspectj/lang/annotation/Around
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1095)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1040)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:505)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:302)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:229)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:298)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:198)
at org.springframework.context.support.PostProcessorRegistrationDelegate.registerBeanPostProcessors(PostProcessorRegistrationDelegate.java:220)
at org.springframework.context.support.AbstractApplicationContext.registerBeanPostProcessors(AbstractApplicationContext.java:615)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:465)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
at com.springaoppractice.aop.AopMain.main(AopMain.java:12)
Caused by: org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.springframework.aop.aspectj.annotation.AnnotationAwareAspectJAutoProxyCreator]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: org/aspectj/lang/annotation/Around
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:163)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:89)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1088)
... 13 more
Caused by: java.lang.NoClassDefFoundError: org/aspectj/lang/annotation/Around
at org.springframework.aop.aspectj.annotation.ReflectiveAspectJAdvisorFactory.<clinit>(ReflectiveAspectJAdvisorFactory.java:74)
at org.springframework.aop.aspectj.annotation.AnnotationAwareAspectJAutoProxyCreator.<init>(AnnotationAwareAspectJAutoProxyCreator.java:53)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:147)
... 15 more
package com.springaoppractice.aop;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.springaoppractice.aop.service.ShapeService;
public class AopMain {
public static void main (String[] args){
ApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");
ShapeService shapeService = context.getBean("shapeService", ShapeService.class);
System.out.println(shapeService.getCircle().getName());
}
}
package com.springaoppractice.aop.aspect;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
@Aspect
public class LoggingAspect {
@Before("execution(public String getName())")
public void LoggingAdvice (){
System.out.println("Logging advice initiazlied, get method is called!");
}
}
package com.springaoppractice.aop.service;
import com.springaoppractice.aop.model.Circle;
import com.springaoppractice.aop.model.Triangle;
public class ShapeService {
private Circle circle;
private Triangle triangle;
public Circle getCircle() {
return circle;
}
public void setCircle(Circle circle) {
this.circle = circle;
}
public Triangle getTriangle() {
return triangle;
}
public void setTriangle(Triangle triangle) {
this.triangle = triangle;
}
}
这是我的型号:
Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.aop.config.internalAutoProxyCreator': Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.springframework.aop.aspectj.annotation.AnnotationAwareAspectJAutoProxyCreator]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: org/aspectj/lang/annotation/Around
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1095)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1040)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:505)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:302)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:229)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:298)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:198)
at org.springframework.context.support.PostProcessorRegistrationDelegate.registerBeanPostProcessors(PostProcessorRegistrationDelegate.java:220)
at org.springframework.context.support.AbstractApplicationContext.registerBeanPostProcessors(AbstractApplicationContext.java:615)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:465)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
at com.springaoppractice.aop.AopMain.main(AopMain.java:12)
Caused by: org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.springframework.aop.aspectj.annotation.AnnotationAwareAspectJAutoProxyCreator]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: org/aspectj/lang/annotation/Around
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:163)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:89)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1088)
... 13 more
Caused by: java.lang.NoClassDefFoundError: org/aspectj/lang/annotation/Around
at org.springframework.aop.aspectj.annotation.ReflectiveAspectJAdvisorFactory.<clinit>(ReflectiveAspectJAdvisorFactory.java:74)
at org.springframework.aop.aspectj.annotation.AnnotationAwareAspectJAutoProxyCreator.<init>(AnnotationAwareAspectJAutoProxyCreator.java:53)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:147)
... 15 more
package com.springaoppractice.aop;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.springaoppractice.aop.service.ShapeService;
public class AopMain {
public static void main (String[] args){
ApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");
ShapeService shapeService = context.getBean("shapeService", ShapeService.class);
System.out.println(shapeService.getCircle().getName());
}
}
package com.springaoppractice.aop.aspect;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
@Aspect
public class LoggingAspect {
@Before("execution(public String getName())")
public void LoggingAdvice (){
System.out.println("Logging advice initiazlied, get method is called!");
}
}
package com.springaoppractice.aop.service;
import com.springaoppractice.aop.model.Circle;
import com.springaoppractice.aop.model.Triangle;
public class ShapeService {
private Circle circle;
private Triangle triangle;
public Circle getCircle() {
return circle;
}
public void setCircle(Circle circle) {
this.circle = circle;
}
public Triangle getTriangle() {
return triangle;
}
public void setTriangle(Triangle triangle) {
this.triangle = triangle;
}
}
这是我的SPRING.XML
package com.springaoppractice.aop.model;
public class Circle {
private String name;
public String getName(){
return name;
}
public void setName(String name) {
this.name = name;
}
}
package com.springaoppractice.aop.model;
public class Triangle {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
添加到类路径的jar:
对我来说,它在类路径上与此配合得很好(我不是故意使用Maven,而是手动在Eclipe中添加了所有lib以复制您的设置): 方面的输出将按预期显示在控制台上。也许你想比较一下你的LIB和我的LIB。不过,我强烈建议使用Maven作为构建工具。这样,您可以更好地控制依赖关系 编辑:我忘了提到我的Eclipse项目是AspectJ项目,而不是普通的Java项目。也就是说,我使用ajc作为编译器,而不是javac。结果是编译时编织。如果您想使用加载时编织,请告诉我,我将以这种方式进行测试 编辑2:我刚刚将我的项目转换为一个普通的Java项目,即javac编译所有类/方面,现在使用带LTW的Spring AOP应用方面。它仍然完美无缺地工作。我当前的库设置如下所示:
对我来说,它在类路径上与此配合得很好(我不是故意使用Maven,而是手动在Eclipe中添加了所有lib以复制您的设置): 方面的输出将按预期显示在控制台上。也许你想比较一下你的LIB和我的LIB。不过,我强烈建议使用Maven作为构建工具。这样,您可以更好地控制依赖关系 编辑:我忘了提到我的Eclipse项目是AspectJ项目,而不是普通的Java项目。也就是说,我使用ajc作为编译器,而不是javac。结果是编译时编织。如果您想使用加载时编织,请告诉我,我将以这种方式进行测试 编辑2:我刚刚将我的项目转换为一个普通的Java项目,即javac编译所有类/方面,现在使用带LTW的Spring AOP应用方面。它仍然完美无缺地工作。我当前的库设置如下所示:
因此,由于aopalliance jar不正确,我遇到了相同的问题。 我之前拥有的是aopalliance-alpha1.jar 但后来我把它改成了aopalliance-1.0.jar,你可以从这里下载
该程序正在为我工作。因此,由于aopalliance jar不正确,我遇到了相同的问题。 我之前拥有的是aopalliance-alpha1.jar 但后来我把它改成了aopalliance-1.0.jar,你可以从这里下载
程序正在为我工作。也有相同的错误。我下载了
aopalliance-1.0-sources.jar
和aspectjweaver-1.7.1-sources.jar
,而不是aopalliance-1.0.jar
和aspectjweaver-1.7.1.jar
(不带“source”)。下载正确的JAR(@kriegaex links)后,它工作正常。也有同样的错误。我下载了aopalliance-1.0-sources.jar
和aspectjweaver-1.7.1-sources.jar
,而不是aopalliance-1.0.jar
和aspectjweaver-1.7.1.jar
(不带“source”)。下载正确的Jar(@kriegaex links)后,它运行良好。谢谢你的提问,我遇到了完全相同的错误,这纯粹是Jar错误。我通过使用asm-3.3.1.jar、aspectjrt.jar、cglib-3.1.jar、aopalliance-1.0.jar和aspectweaver-1.7.2.jar解决了这个问题。我认为这是由于它的广度和aspectweaver依赖性造成的。希望对您有所帮助谢谢您的提问,我遇到了完全相同的错误,这纯粹是Jar错误。我通过使用asm-3.3.1.jar、aspectjrt.jar、cglib-3.1.jar、aopalliance-1.0.jar和aspectweaver-1.7.2.jar解决了这个问题。我认为这是由于它的广度和aspectweaver依赖性造成的。希望这会有帮助我也遇到过同样的问题,我相信你也像我一样关注java大脑:)
只需将aopalliance-jar更改为aopalliance1.0-jar,它对我很有效。我也遇到了同样的问题,我相信你也像我一样关注java大脑:)
只需将aopalliance-jar更改为aopalliance1.0-jar,我就可以使用它。我的AspectJ库包含以下jar是什么意思?你在哪里有这些库?@SotiriosDelimanolis我的意思是我有一个用户库名aspectJ,其中包括我列出的JAR,我下载了所有JAR,制作了一个自定义库,并将其包含在我的spring AOP项目中。我不知道你所说的用户库是什么意思。你用的是什么IDE?如何运行应用程序?您是否在运行时类路径中包含列出的库?@SotiriosDelimanolis是的,将其包含在我的运行时类路径中。我正在使用Eclipse Lunar,您能否使用
WinRAR
之类的工具浏览aspectjrt.jar
文件,以确保中的类已存在于中。!!你说我的AspectJ库包含以下JAR是什么意思?你在哪里有这些库?@SotiriosDelimanolis我的意思是我有一个用户库名aspectJ,其中包括我列出的JAR,我下载了所有JAR,制作了一个自定义库,并将其包含在我的spring AOP项目中。我不知道你所说的用户库是什么意思。你用的是什么IDE?如何运行应用程序?您是否在运行时类路径中包含列出的库?@SotiriosDelimanolis是的,将其包含在我的运行时类路径中。我正在使用Eclipse Lunar,您能否使用WinRAR
之类的工具浏览aspectjrt.jar
文件,以确保中的类已存在于中。!!你能给我aopalliance-1.0.jar和aspectjweaver.jar的下载链接吗?我不知道为什么它不能在这里工作。我强烈建议使用Maven作为构建工具,因为它可以帮助你解决依赖关系。同时,您可以从mvnrepository.com搜索和下载,例如,那里的工件搜索指向并感谢您的回复