2

SpringJavaベースの構成に関するこの記事を読んでいます。このチュートリアルの例と同様の例を作成していますが、ビルドプロセスにはMavenを使用しています。

プロジェクトに次の依存関係を追加しました:spring-core、、、、。spring-beanspring-contextspring-context-supportspring-asm

問題は、アプリケーションを実行しようとすると、次のエラーメッセージが表示されることです。

feb 13, 2013 10:26:49 AM org.springframework.context.support.AbstractApplicationContext prepareRefresh
INFO: Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@4ba4536d: startup date [Wed Feb 13 10:26:49 CET 2013]; root of context hierarchy
Exception in thread "main" java.lang.IllegalStateException: CGLIB is required to process @Configuration classes. Either add CGLIB to the classpath or remove the following @Configuration bean definitions: [helloWorldConfig]
    at org.springframework.context.annotation.ConfigurationClassPostProcessor.enhanceConfigurationClasses(ConfigurationClassPostProcessor.java:327)
    at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanFactory(ConfigurationClassPostProcessor.java:222)
    at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:681)
    at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:620)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:446)
    at org.springframework.context.annotation.AnnotationConfigApplicationContext.<init>(AnnotationConfigApplicationContext.java:73)
    at org.andrea.myexample.myJavaConfiguration.MainApp.main(MainApp.java:13)

@Configurationオンラインで読むと、これらのアノテーション(および)を使用するには、プロジェクトに依存関係を@Bean追加する必要があることを理解しました。spring-asm試しましたが、うまくいきませんでした。

pom.xmlこれは私のファイル全体です:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>org.andrea.myexample</groupId>
<artifactId>myJavaConfiguration</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>

<name>myJavaConfiguration</name>
<url>http://maven.apache.org</url>

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>3.8.1</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>3.1.1.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-beans</artifactId>
        <version>3.1.1.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>3.1.1.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context-support</artifactId>
        <version>3.1.1.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-asm</artifactId>
        <version>3.1.1.RELEASE</version>
    </dependency>
</dependencies>

誰かが私を助けることができますか?

4

3 に答える 3

6

まったく同じチュートリアル ページで、クラスパスに CGLib jar が必要であると述べています (強調を追加)。

Eclipse IDE を適切に動作させ、次の手順に従って Spring アプリケーションを作成します。

...
3 - Java ベースのアノテーションを使用しているため、Java インストール ディレクトリから CGLIB.jar と、asm.ow2.org からダウンロードできる ASM.jar ライブラリも追加する必要があります。
...

Maven では、次の依存関係を に追加する必要がありますpom.xml

<dependency>
    <groupId>cglib</groupId>
    <artifactId>cglib</artifactId>
    <version>2.2.2</version>
</dependency>

ソース

于 2013-02-13T10:29:04.987 に答える
4

以下の depedency を pom に追加してください。

<dependency>
    <groupId>cglib</groupId>
    <artifactId>cglib</artifactId>
    <version>2.2.2</version>
</dependency>
于 2013-02-13T10:28:09.610 に答える
0

のために Article Which u have Read

CGLIB Jar 機能させるには、ファイルをプロジェクトに追加するだけです。

CGLIB JarリンクからJarをダウンロードし、Addそれをプロジェクトにダウンロードします

MAVEN を使用している場合は、CGLIB ライブラリを手動で含める必要があります。Mavenpom.xmlファイルで宣言するだけです。

 <dependency>
        <groupId>cglib</groupId>
        <artifactId>cglib</artifactId>
        <version>2.2.2</version>
    </dependency>
于 2013-09-11T08:37:38.247 に答える