Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 春季Aop“;“大约.类”;未找到类异常_Java_Spring_Jar_Aspectj_Spring Aop - Fatal编程技术网

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搜索和下载,例如,那里的工件搜索指向并感谢您的回复