2

我正在使用以下 Spring 库:

spring-web-3.2.4.RELEASE.jar

在我使用 GAE SDK 的服务器单击运行/调试之前,Eclipse 似乎一切都很好。该库就在 app-name/war/WEB-INF/lib/ 下。

然后出现这个错误:

类路径引用的归档:app-name/war/WEB-INF/lib/spring-web-3.2.4.RELEASE.jar 不存在。

然后从 app-name/war/WEB-INF/lib/ 文件夹中删除该库。

如果我不直接在 Java 构建路径中添加库,而是通过“Web App Libraries”(指的是 app-name/war/WEB-INF/lib/ )我可以运行服务器,但会抛出 NoClassFoundException :

WARNING: Could not instantiate listener org.springframework.web.context.ContextLoaderListener
java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
    at com.google.appengine.tools.development.IsolatedAppClassLoader.loadClass(IsolatedAppClassLoader.java:215)

而且,之后该库从路径中删除:app/war/WEB-INF/lib/

我在谷歌的开发者页面中阅读了一些关于如何使用 Spring Framework 运行应用程序的文档。 https://developers.google.com/appengine/articles/spring_optimization

它没有说任何关于删除库的内容。

有任何想法吗?

4

1 回答 1

0

我不确定为什么要删除它,但我今天在使用 Luna、AppEngine 1.9.30 和 Spring Web 4.2.5 时遇到了同样的问题。解决方法是使用旧版本的 spring-web jar:3.1.4 对我有用。我还尝试修改 4.2.5 jar,从 META-INF 目录中删除 services 目录等等,但无济于事。

于 2016-04-02T22:41:14.090 回答