有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

未能编译生成的JSP java文件

我正在使用Neatbeans将一个简单的项目部署到GAE,我成功地部署了“空”项目,但现在我添加了一个类,我得到了一个错误

当我运行时:appcfg update C:\Users\lsarni\Documents\NetBeansProjects\TestMemcache\web

我得到以下错误:

8% Compiling jsp files.
sep 15, 2016 3:16:16 PM org.apache.jasper.JspC processFile
INFO: Built File: \index.jsp
C:\Users\lsarni\AppData\Local\Temp\1473963375861-0\org\apache\jsp\index_jsp.java:6: error: package Memcache does not exist
import Memcache.GoogleMemcache;
               ^
C:\Users\lsarni\AppData\Local\Temp\1473963375861-0\org\apache\jsp\index_jsp.java:6: error: package Memcache does not exist
import Memcache.GoogleMemcache;
               ^
C:\Users\lsarni\AppData\Local\Temp\1473963375861-0\org\apache\jsp\index_jsp.java:56: error: cannot find symbol
        GoogleMemcache x = new GoogleMemcache();
        ^
  symbol:   class GoogleMemcache
  location: class index_jsp
C:\Users\lsarni\AppData\Local\Temp\1473963375861-0\org\apache\jsp\index_jsp.java:56: error: cannot find symbol
        GoogleMemcache x = new GoogleMemcache();
                               ^
  symbol:   class GoogleMemcache
  location: class index_jsp
3 errors

com.google.appengine.tools.admin.JspCompilationException: Failed to compile the generated JSP java files.
Unable to update app: Failed to compile the generated JSP java files.

日志上写着:

Unable to update:
com.google.appengine.tools.admin.JspCompilationException: Failed to compile the generated JSP java files.
    at com.google.appengine.tools.admin.Application.compileJavaFiles(Application.java:1048)
    at com.google.appengine.tools.admin.Application.compileJsps(Application.java:1001)
    at com.google.appengine.tools.admin.Application.populateStagingDirectory(Application.java:776)
    at com.google.appengine.tools.admin.Application.createStagingDirectory(Application.java:708)
    at com.google.appengine.tools.admin.AppAdminImpl.doUpdate(AppAdminImpl.java:570)
    at com.google.appengine.tools.admin.AppAdminImpl.update(AppAdminImpl.java:57)
    at com.google.appengine.tools.admin.AppCfg$UpdateAction.execute(AppCfg.java:1490)
    at com.google.appengine.tools.admin.AppCfg.executeAction(AppCfg.java:357)
    at com.google.appengine.tools.admin.AppCfg.<init>(AppCfg.java:218)
    at com.google.appengine.tools.admin.AppCfg.<init>(AppCfg.java:119)
    at com.google.appengine.tools.admin.AppCfg.main(AppCfg.java:115)
com.google.appengine.tools.admin.AdminException: Unable to update app: Failed to compile the generated JSP java files.
    at com.google.appengine.tools.admin.AppAdminImpl.doUpdate(AppAdminImpl.java:578)
    at com.google.appengine.tools.admin.AppAdminImpl.update(AppAdminImpl.java:57)
    at com.google.appengine.tools.admin.AppCfg$UpdateAction.execute(AppCfg.java:1490)
    at com.google.appengine.tools.admin.AppCfg.executeAction(AppCfg.java:357)
    at com.google.appengine.tools.admin.AppCfg.<init>(AppCfg.java:218)
    at com.google.appengine.tools.admin.AppCfg.<init>(AppCfg.java:119)
    at com.google.appengine.tools.admin.AppCfg.main(AppCfg.java:115)
Caused by: com.google.appengine.tools.admin.JspCompilationException: Failed to compile the generated JSP java files.
    at com.google.appengine.tools.admin.Application.compileJavaFiles(Application.java:1048)
    at com.google.appengine.tools.admin.Application.compileJsps(Application.java:1001)
    at com.google.appengine.tools.admin.Application.populateStagingDirectory(Application.java:776)
    at com.google.appengine.tools.admin.Application.createStagingDirectory(Application.java:708)
    at com.google.appengine.tools.admin.AppAdminImpl.doUpdate(AppAdminImpl.java:570)
    ... 6 more

这是我项目的结构,我不确定把类GoogleMemcache放在那里是否正确

enter image description here

从Netbeans进行清理和构建工作很好

这是index.jsp中的代码:

<%@page import ="Memcache.GoogleMemcache" %>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <%
        GoogleMemcache x = new GoogleMemcache();
        %>
    </body>
</html>

我尝试了我发现的类似问题的不同答案,但没有任何运气


共 (1) 个答案

  1. # 1 楼答案

    最后,我试图部署错误的文件夹:

    appcfg update C:\Users\lsarni\Documents\NetBeansProjects\TestMemcache\web
    

    应该是:

    appcfg update C:\Users\lsarni\Documents\NetBeansProjects\TestMemcache\build\web
    

    我意识到这是错误的,因为它缺少一个META-INF文件夹,所以它与this answer中描述的不匹配