jetty - noSuchMethodError

时间:2009-11-14 16:49:52

标签: maven-2 jetty nosuchmethoderror

运行mvn jetty:run-war时出现以下错误:

2009-11-14 15:19:28.459:/:INFO:  Initializing Spring root WebApplicationContext
* ERROR 15:19:28,491 Context initialization failed (ContextLoader.java [main])
java.lang.NoSuchMethodError: org.springframework.util.ReflectionUtils.makeAccessible(Ljava/lang/reflect/Constructor;)V
...

(不包括整个堆栈跟踪)

我知道代码没有任何问题,因为它在Windows和OSX中都可以正常工作。现在我使用Ubuntu karmic koala并通过apt-get安装maven,是否有一些我忘记在linux中配置以使其工作的东西?我在做mvn clean install时没有遇到任何错误。

任何?

2 个答案:

答案 0 :(得分:0)

某处必须存在兼容性不匹配。也许你的本地存储库包含一些jar的“陈旧”版本。我建议重新使用一个干净整洁的本地存储库。

首先,制作备份副本:

mv ~/.m2/repository ~/.m2/repository.save

然后,再试一次。

答案 1 :(得分:0)

我认为问题出在本地存储库中。 我想你的maven repo会像root / .m2 / repository一样存储 旧罐子可能是问题

我猜你写过像下面的Jetty depandencies

<plugin>
            <groupId>org.mortbay.jetty</groupId>
            <artifactId>jetty-maven-plugin</artifactId>
            <version>${jetty.version}</version>
            <configuration>
                <webAppSourceDirectory>WebContent</webAppSourceDirectory>
                <!-- <classesDirectory>WebContent/WEB-INF/classes</classesDirectory> -->
                <!-- Redeploy every 1 seconds if changes are detected, 0 for no automatic 
                    redeployment -->
                <scanIntervalSeconds>0</scanIntervalSeconds>
                <!-- reload manually by hitting enter on console -->
                <reload>manual</reload>
                <webApp>
                    <contextPath>/</contextPath>
                    <descriptor>WebContent/WEB-INF/web.xml</descriptor>
                </webApp>
                <connectors>
                    <connector implementation="org.eclipse.jetty.server.bio.SocketConnector">
                        <port>8080</port>
                        <maxIdleTime>600000</maxIdleTime>
                    </connector>
                </connectors>
            </configuration>
        </plugin>

检查“mvn install”是否为Sucess然后运行Jetty。