我的gae + spring + maven项目完美运行。但我无法使用eclipse使其工作。
当我使用 Eclipse 中的 GAE 运行我的项目时(使用 Google Plugin,Run As > Web Application) ,似乎pom.xml中声明的spring-web依赖项正在从WEB-INF/lib中消失。所以没有spring-web这是一个例外:
Could not instantiate listener org.springframework.web.context.ContextLoaderListener
java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
(此处为完整的 GAE 堆栈跟踪)
从控制台运行mvn clean package gae:run
,该应用程序就像一个魅力一样工作,并且spring-web按预期放置在WEB-INF/lib 目录下。
刚刚在 BitBucket 上发布了我的测试项目:https ://bitbucket.org/jelies/gae-spring-maven
知道为什么从 Eclipse 启动 webapp 时spring-web没有发布到WEB-INF/lib吗?
使用:
- SpringSource ToolSuite 3.1.0(基于eclipse 3.8)
- 爪哇 6
- 春天 3.2.1
- Maven 3.0.4
- 谷歌应用引擎 1.7.5
- maven-gae-插件 0.9.6
更新: 使用 spring 版本3.1.4.RELEASE时, spring-web依赖项正在发布到WEB-INF/lib。任何 3.2.X 版本都不会发生这种情况。