1

运行时出现以下错误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 时我没有收到任何错误。

任何人?

4

2 回答 2

0

某处一定存在兼容性不匹配。也许您的本地存储库包含某个 jar 的“陈旧”版本。我建议使用新鲜干净的本地存储库重试。

首先,制作备份副本:

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

然后,再试一次。

于 2009-11-15T13:01:17.583 回答
0

我认为问题在于本地存储库。我猜你的 maven repo 会像 root/.m2/repository 一样存储旧 jar 可能是问题所在

我猜你已经写了像下面这样的 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”是否成功,然后运行 ​​Jetty。

于 2013-05-01T15:11:33.073 回答