簡體   English   中英

Google App Engine - 無法編譯生成的JSP java文件

[英]Google App Engine - Failed to compile the generated JSP java files

我的項目在本地工作正常,但在嘗試將其部署到GAE服務器時,我收到以下錯誤消息:

Unable to update app: Failed to compile the generated JSP java files.

這主要發生在我從Java 7切換到Java 6時,因為顯然GAE還不支持。 我使用GAE 1.7.4,這是一個已知的問題嗎? 這個項目有什么問題? 它是JSP中的語法嗎? 在我開始使用GAE 1.7.4之前他們曾經編譯過,但我不知道這個開始的確切原因。

我遇到了同樣的問題,並確信存在GAE問題。 但是,現在我意識到我已經更改了幾個.jsp文件引用的.java文件的名稱,並且文件名在.jsp中沒有更改。 我修復了.jsp部署中的文件名后再次正常工作。 Arrgh。

我認為在GAE開始編譯JSP文件之前,有錯誤的JSP文件會成功部署。 此外,在本地運行時,JSP在訪問之前顯然不會被編譯,因此除非在本地測試所有JSP文件,否則您可能不知道錯誤。 但是,如果嘗試部署,JSP編譯將失敗並且部署將中止。 不幸的是,沒有明智的錯誤信息表明問題的發現位置。

我嘗試再次在eclipse上重新編譯java文件並檢查錯誤。
我認為這是檢查它的更好方法。

這是我的博客細節。
http://nurinamu.tumblr.com/post/62384368766/how-to-detect-the-jsp-compile-error-when-deploy-to

我有同樣的問題。 我已經改變了我通常不會去的JSP調用的方法的方法簽名。 所以在本地運行時一切正常,因為我從來沒有去過有問題的JSP。

解決此問題的方法是在本地運行並轉到項目中的每個JSP。 最終我得到了一個JSP,它在我的瀏覽器窗口中給了我一個完整的堆棧跟蹤。 當我修復該JSP中的錯誤時,我再次能夠部署到app引擎生產。

如果GAE能夠報告哪個JSP失敗會更好,但這種技術會起作用。

我在同一個問題上運行。 是的,您在Eclipse和日志中獲得的錯誤實際上是無益的,但是想要共享部署到本地開發服務器,而是提供了一個非常有用的錯誤消息,例如在我的情況下:


HTTP錯誤500

訪問/的問題。 原因:

無法為JSP編譯類:

在jsp文件中的第286行:/dashboard.jsp發生錯誤

重復的本地變量數據存儲區

283:   </head>
284:   <body onload="initialize()">
285:     <%
286:     DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
287: 
288:     UserService userService = UserServiceFactory.getUserService();
289:     User user = userService.getCurrentUser();

救了一大頭疼。

nurinamu的答案還可以,但它對我不起作用,因為我的項目過於復雜,我無法解決鏈接在appengine臨時區域生成的源文件夾所得到的錯誤。 但是我確實設法解決了我的問題!

這種方法有點痛苦,但在最壞的情況下: 將JSP移出項目並進行測試部署,直到您縮小范圍並找出導致問題的JSP。

這真的是我能找出導致問題的唯一方法。

UPDATE

對我來說,錯誤是一個流氓導入,而appengine不支持。

如果使用JSP包含,則必須確保包含在其他文件中的JSP文件具有所有正確的導入,即使一切似乎在測試環境中都能正常工作。

例如,如果您有一個名為inc.jsp的文件,則在其他文件中包含它,如下所示:

<%@include file="inc.jsp" %>

然后在inc.jsp里面,你必須確保所有正確的導入都存在,即使編譯器沒有明確地抱怨它。

在包含JSP中查找錯誤的簡單方法是在運行開發服務器時嘗試在瀏覽器中打開它。 您將看到編譯器沒有告訴您的JSP錯誤。

這是我找到問題中提到的錯誤的一個原因。

只需確保所有jsp文件都在本地運行,因此您可以嘗試run and/or test all jsp files on your local 它們必須是任何jsp文件中的錯誤。

我用這種方式解決了這個問題。

我只在一個jsp文件中有錯誤,但它顯示所有jsp文件的相同錯誤,所以不要擔心所有文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM