2014-09-02 84 views
0

我已經在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,並且錯誤仍然存​​在。 我不明白什麼似乎是問題。App Engine需要Java 1.7或更高版本

我應該使用GAE來編譯我的應用程序與Java 1.6並把它放在Glassfish使用Java 1.6? 或者這不是一個GAE問題,而是別的?

也有可能把我的gwt-servler.jar放入Glassfish lib讓我的戰爭更小?比我可以回到GWT 2.6.1並添加一些功能到我的應用程序。

如果我發佈到glassfish,我不需要GAE,只需要gwt-servler.jar?

回答

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(但包含捆綁的Jetty服務器的應用程序引擎SDK)。

編輯:

如果你有Glassfish和你不希望發佈你的web應用到谷歌應用程序引擎,你並不需要GAE的。 GWT還包括對開發很有用的Servlet API,Glassfish是一個包含Servlet API實現的應用服務器(servlet容器)。

我覺得你很困惑。 Google App Engine是一個平臺(平臺即服務),您只需將項目設置爲GAE項目,並且只需添加GAE庫和依賴項即可,如果您想專門爲GAE平臺創建和部署Web應用程序。

+0

我試着GAE 1.7.5,它仍然會拋出相同的錯誤。使用GWT並在Glassfhis上發佈應用程序並非我的選擇。我只需要做我所說的。隨着Java 1.7的一切工作正常,應用程序部署redy,但我必須使它與Java 1.6和Glassfish 3.1的工作,在這裏沒有我的選擇。 – Belamors 2014-09-02 06:07:57

+0

請您回答我在這個答案中提出的問題嗎?你可以編輯你的問題來添加這些。 – icza 2014-09-02 06:08:55

+0

我想我誤解了GAE的使用。但是現在我運行GWT編譯時遇到了另一個問題。 java.lang.UnsupportedClassVersionError:javax/persistence/Entity:不支持major.minor版本51.0。我已將JAVA_HOME更改爲1.6,Eclipse默認jre爲Java 1.6,pom.xml中的源和目標爲1.6,但出現此錯誤並處於Event錯誤的詳細信息中:Message = GWT編譯失敗,會話數據:java.version = 1.7 .0_60。爲什麼? – Belamors 2014-09-02 08:33:00

相關問題