我在Java 1.7,GAE 1.9.9,GWT 2.6.1和Maven中开发了GWT应用程序。 现在我意识到我们的Glassfish服务器上有Java 1.6.0_43。 所以我更改了它,也将GWT更改为2.1.1以使应用程序更小,但Eclipse显示错误:" App Engine需要Java 1.7或更高版本。" 试图将GAE改为1.7.5和1.6.6并且错误仍然存在。 我无法弄清楚似乎是什么问题。
我应该使用什么GAE来编译我的应用程序与Java 1.6并将其放在Glassfish With Java 1.6? 或者它不是GAE问题,而是其他问题?
还可以将我的gwt-servler.jar放入Glassfish lib中以使我的战争更小吗?我可以回到GWT 2.6.1并为我的应用程序添加一些功能。
如果我发布到glassfish,我只是不需要GAE,只需要gwt-servler.jar?
答案 0 :(得分:1)
Google应用引擎使用Java 7,现在是强制性的。在GAE平台上,您的Web应用程序正在Jetty服务器上运行。
Google App Engine版本1.8.1是最后一个支持Java 6(2013年6月11日发布)的版本。从1.8.2开始,SDK仅使用Java 7编译器进行编译,唯一的目标运行时是Java 7。
为什么需要Glassfish + GAE + Java 6?如果您为GAE开发,则无法使用Glassfish。应用程序引擎sdk包含一个捆绑的Jetty,因此您不需要它进行开发,当然也不需要用于生产。
如果您没有为App引擎平台开发,那么为什么您需要将您的项目作为GAE项目?看起来很矛盾。
从项目中删除GAE依赖项(和库),或者使用Java 7而不是Glassfish(但是应用程序引擎SDK包含捆绑的Jetty服务器)。
修改强>
如果你有Glassfish并且你不想将你的webapp发布到Google App Engine,那么你根本就不需要GAE。 GWT还包括对开发很有用的Servlet apis,而Glassfish是一个包含Servlet API实现的应用服务器(servlet容器)。
我觉得你很困惑。 Google App Engine是一个平台(平台即服务),您只需要将项目作为GAE项目,并且只需要添加GAE库和依赖项,如果您想专门为GAE平台创建和部署Web应用程序。 / p>