簡體   English   中英

Jersey 1.6使用Maven的Spring 3.0.5

[英]Jersey 1.6 with Spring 3.0.5 using Maven

我很難讓Jersey使用Spring 3.0.5。 我發現很多人說他們能夠使它工作但我運氣不好。 我總是得到:

java.lang.NoSuchMethodError:org.springframework.web.context.ConfigurableWebApplicationContext.setId(Ljava / lang / String;)

有人能夠做到這一點嗎?


謝謝您的幫助!


這是我的pom依賴項:

<dependencies>
    <dependency>
        <groupId>com.sun.jersey</groupId>
        <artifactId>jersey-server</artifactId>
        <version>${jersey-version}</version>
    </dependency>

    <dependency>
        <groupId>com.sun.jersey.contribs</groupId>
        <artifactId>jersey-spring</artifactId>
        <version>${jersey-version}</version>
        <exclusions>
            <exclusion>
                <artifactId>spring-core</artifactId>
                <groupId>org.springframework</groupId>
            </exclusion>
            <exclusion>
                <artifactId>spring-aop</artifactId>
                <groupId>org.springframework</groupId>
            </exclusion>
            <exclusion>
                <artifactId>spring-beans</artifactId>
                <groupId>org.springframework</groupId>
            </exclusion>
            <exclusion>
                <artifactId>spring-context</artifactId>
                <groupId>org.springframework</groupId>
            </exclusion>
            <exclusion>
                <artifactId>spring-web</artifactId>
                <groupId>org.springframework</groupId>
            </exclusion>
        </exclusions>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>3.0.5.RELEASE</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-aop</artifactId>
        <version>3.0.5.RELEASE</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>3.0.5.RELEASE</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-beans</artifactId>
        <version>3.0.5.RELEASE</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>3.0.5.RELEASE</version>
    </dependency>
</dependencies>

這是錯誤:

GRAVE:加載應用程序時的異常java.lang.Exception:java.lang.IllegalStateException:ContainerBase.addChild:start:org.apache.catalina.LifecycleException:java.lang.NoSuchMethodError:org.springframework.web.context.ConfigurableWebApplicationContext.setId (Ljava / lang / String;)V at comgun.enterprise.web.WebApplication.start(WebApplication.java:117)org.glassfish.internal.data.EngineRef.start(EngineRef.java:126)at org。 glass.internal.data.ModuleInfo.start(ModuleInfo.java:241)atg.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:236)at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy( ApplicationLifecycle.java:339)com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:183)位於com.sun的org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:272) .enterprise.v3.admin.CommandRunnerImpl $ 1.execute(CommandRunnerImpl.java:310)at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.j ava:320)com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1176)at com.sun.enterprise.v3.admin.CommandRunnerImpl.access $ 900(CommandRunnerImpl.java:83)at com。 sun.enterprise.v3.admin.CommandRunnerImpl $ ExecutionContext.execute(CommandRunnerImpl.java:1235)org.glassfish.deployment.autodeploy.AutoOperation.run(AutoOperation.java:141)org.glassfish.deployment.autodeploy.AutoDeployer。部署(AutoDeployer.java:573)org.glassfish.deployment.autodeploy.AutoDeployer.deployAll(AutoDeployer.java:459)org.glassfish.deployment.autodeploy.AutoDeployer.run(AutoDeployer.java:391)org.glassfish .deployment.autodeploy.AutoDeployer.run(AutoDeployer.java:376)at org.glassfish.deployment.autodeploy.AutoDeployService $ 1.run(AutoDeployService.java:195)at java.util.TimerThread.mainLoop(Timer.java:512)在java.util.TimerThread.run(Timer.java:462)

做一個mvn dependency:tree並確保沒有更多版本的Spring從其他地方進入。 ConfigurableWebApplicationContext.setId()在Spring 2.5中不存在,但它在3.x中存在。

謝謝ERICACM,很棒的答案。 我使用spring 3.0.5.release也遇到了同樣的問題。 2.5.6的兩個罐子卡在我的web-inf / lib文件夾中。 刪除這些修復了問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM