0

プロジェクトを実行しようとすると、このエラーに直面しているApplicationConfigファイルが含まれている Spring アプリケーションをコンパイルしようとしています。@EnableAspectJAutoProxy anotation

Failed to instantiate [org.springframework.aop.aspectj.annotation.
 AnnotationAwareAspectJAutoProxyCreator]:
 Constructor threw exception; nested exception is    
 java.lang.NoClassDefFoundError: org/aspectj/lang/annotation/Around

上記の注釈を削除すると、プロジェクトは正常に実行されていると言わざるを得ません。

インターネットで読んだことがありますが、ライブラリとjarファイルのバージョンに互換性がないためだと思いました。

実行するとmvn dependency:tree、出力は次のようになります。

[INFO]    task-segment: [dependency:tree]
[INFO] ------------------------------------------------------------------------
[INFO] [dependency:tree {execution: default-cli}]
[INFO] groupId:myProject:jar:1.0-SNAPSHOT
[INFO] +- junit:junit:jar:4.11:compile
[INFO] |  \- org.hamcrest:hamcrest-core:jar:1.3:compile
[INFO] +- org.springframework:spring-webmvc:jar:4.3.0.RELEASE:compile
[INFO] |  +- org.springframework:spring-aop:jar:4.2.6.RELEASE:compile (version m
anaged from 4.3.0.RELEASE)
[INFO] |  |  \- aopalliance:aopalliance:jar:1.0:compile
[INFO] |  +- org.springframework:spring-beans:jar:4.2.6.RELEASE:compile
[INFO] |  +- org.springframework:spring-context:jar:4.2.6.RELEASE:compile (versi
on managed from 4.3.0.RELEASE)
[INFO] |  +- org.springframework:spring-core:jar:4.2.6.RELEASE:compile
[INFO] |  +- org.springframework:spring-expression:jar:4.2.6.RELEASE:compile
[INFO] |  \- org.springframework:spring-web:jar:4.2.6.RELEASE:compile (version m
anaged from 4.3.0.RELEASE)
[INFO] +- org.aspectj:aspectjweaver:jar:1.8.9:compile
[INFO] +- javax.servlet:javax.servlet-api:jar:3.1.0:compile
[INFO] \- org.aspectj:aspectjrt:jar:1.8.9:compile
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3 seconds

これはpom.xmlファイルの内容です:

 <dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.11</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>4.3.0.RELEASE</version>
    </dependency>

    <dependency>
        <groupId>org.aspectj</groupId>
        <artifactId>aspectjweaver</artifactId>
        <version>1.8.9</version>
    </dependency>

    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
    </dependency>

    <dependency>
        <groupId>org.aspectj</groupId>
        <artifactId>aspectjrt</artifactId>
        <version>1.8.9</version>
    </dependency>
</dependencies>

質問: この出力が、すべて問題ない、またはプロジェクトに非互換性がある可能性があることを示していることを理解できません。それらを解決する方法はありますか?

4

1 に答える 1

0
于 2016-07-02T03:29:04.450 に答える