[英]Google Cloud sql and Google app engine
I did this tutorial https://developers.google.com/cloud-sql/docs/developers_guide_java When I run app locally on my machine, eclipse's console generates error 我完成了本教程https://developers.google.com/cloud-sql/docs/developers_guide_java当我在计算机上本地运行应用程序时,eclipse的控制台会生成错误
java.security.AccessControlException: access denied (java.lang.RuntimePermission accessClassInPackage.sun.jdbc.odbc) at java.security.AccessControlContext.checkPermission(AccessControlContext.java:323) at java.security.AccessController.checkPermission(AccessController.java:546) at java.lang.SecurityManager.checkPermission(SecurityManager.java:532) at com.google.appengine.tools.development.DevAppServerFactory$CustomSecurityManager.checkPermission(DevAppServerFactory.java:252) at java.lang.SecurityManager.checkPackageAccess(SecurityManager.java:1512) at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:114) at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:66) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:247) at java.sql.DriverManager.getCallerClass(DriverManager.java:477) at java.sql.DriverManager.getConnection(DriverManager.java:576) at java.sql.DriverManager.getConnection(DriverManager.java:207) at org.apache.jsp java.security.AccessControlException:访问被拒绝(java.lang.RuntimePermission accessClassInPackage.sun.jdbc.odbc)在java.security.AccessControlContext.checkPermission(AccessControlContext.java:323)在java.security.AccessController.checkPermission(AccessController.java: 546),位于com.google.appengine.tools.development.DevAppServerFactory $ CustomSecurityManager.checkPermission(DevAppServerFactory.java:252)的java.lang.SecurityManager.checkPackageAccess(SecurityManager)的java.lang.SecurityManager.checkPermission(SecurityManager.java:532) .java:1512),位于org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:66),位于org.apache.jasper.servlet.JasperLoader.java:114,位于java.lang.Class。位于java.lang.Class.forName(Class.java:247)的forName0(本机方法)位于java.sql.DriverManager.getConnection(DriverManager.java:576)的java.sql.DriverManager.getCallerClass(DriverManager.java:477)在org.apache.jsp的java.sql.DriverManager.getConnection(DriverManager.java:207) .guestbook_jsp._jspService(guestbook_jsp.java:64) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) at com.google.appengine.tools.development.PrivilegedJspServlet.access$101(PrivilegedJspServlet.java:23) at com.google.appengine.tools.development.PrivilegedJspServlet$2.run(PrivilegedJspServlet.java:59) at java.security.AccessController.doPrivileged(Native Method) at com.google.appengine.tools.development.PrivilegedJspServlet.service(PrivilegedJspServlet.java:57) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java org上的org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)上的.guestbook_jsp._jspService(guestbook_jsp.java:64)在org上的javax.servlet.http.HttpServlet.service(HttpServlet.java:717) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)处的apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)org.apache.jasper.servlet.JspServlet.service(JspServlet。 java:260),位于com.google.appengine.tools.development.PrivilegedJspServlet.access $ 101(PrivilegedJspServlet.java:23),位于com.google.appengine.tools.development.PrivilegedJspServlet $ 2.run(PrivilegedJspServlet.java:59),位于Java org.com上com.google.appengine.tools.development.PrivilegedJspServlet.service(PrivilegedJspServlet.java:57)上的.security.AccessController.doPrivileged(本机方法)在org上的javax.servlet.http.HttpServlet.service(HttpServlet.java:717) org.mortbay.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java)上的.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) :1166) at com.google.appengine.tools.development.BackendServersFilter.doFilter(BackendServersFilter.java:97) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418) at com.google.appengine.tools.development.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:78) at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:327) at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126) at com.google.appengine.tools.development.StaticFileUtils.serveWelcomeFileAsForward(StaticFileUtils.java:80) at com.google.appengine.tools.development.LocalResourceFileServ :1166),位于com.google.appengine.tools.development.BackendServersFilter.doFilter(BackendServersFilter.java:97),位于org.mortbay.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1157),位于org.mortbay。 org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)的jetty.servlet.ServletHandler.handle(ServletHandler.java:388)org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java: 182),位于org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418),位于org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765),位于com.google.appengine.tools.development位于org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:327)的.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:78)位于org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126)的。 com.google.appengine.tools.development.LocalResourceFileServ上的com.google.appengine.tools.development.StaticFileUtils.serveWelcomeFileAsForward(StaticFileUtils.java:80) let.maybeServeWelcomeFile(LocalResourceFileServlet.java:254) at com.google.appengine.tools.development.LocalResourceFileServlet.doGet(LocalResourceFileServlet.java:120) at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166) at com.google.appengine.tools.development.HeaderVerificationFilter.doFilter(HeaderVerificationFilter.java:35) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:60) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43) at org.mortbay.jetty.servlet.ServletHandler$Cac 位于javax的com.google.appengine.tools.development.LocalResourceFileServlet.doGet(LocalResourceFileServlet.java:120)的let.maybeServeWelcomeFile(LocalResourceFileServlet.java:254)在javax的javax.servlet.http.HttpServlet.service(HttpServlet.java:617) org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)处的.servlet.http.HttpServlet.service(HttpServlet.java:717)org.mortbay.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler com.google.appengine.tools.development.HeaderVerificationFilter.doFilter(HeaderVerificationFilter.java:35)处的org.mortbay.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1157)处的.java:1166)。 org.mortbay.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1157)上的google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:60)在com.google.apphosting.utils上。 org.mortbay.jetty.servlet.ServletHandler $ Cac上的servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43) hedChain.doFilter(ServletHandler.java:1157) at com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:122) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at com.google.appengine.tools.development.BackendServersFilter.doFilter(BackendServersFilter.java:97) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418) at com.google.appengine.tools.development.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:78) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at com.goog com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:122)上的hedChain.doFilter(ServletHandler.java:1157)org.mortbay.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java: 1157),位于org.mortbay.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1157),位于com.google.appengine.tools.development.BackendServersFilter.doFilter(BackendServersFilter.java:97),位于org.mortbay.jetty org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)处的.servlet.ServletHandler.handle(ServletHandler.java:388)org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182处) ),位于com.google.appengine.tools.development的org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)的org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)。 com.goog上的org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)上的DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:78) le.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:363) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.Server.handle(Server.java:326) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:923) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:547) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409) at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582) le.appengine.tools.development.JettyContainerService $ ApiProxyHandler.handle(JettyContainerService.java:363)在org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)在org.mortbay.jetty.Server.handle( org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)上的Server.java:326)org.mortbay.jetty.HttpParser上的org.mortbay.jetty.HttpConnection $ RequestHandler.headerComplete(HttpConnection.java:923)上的位于org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)的org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)的org.mortbay.io的.parseNext(HttpParser.java:547)。 nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)位于org.mortbay.thread.QueuedThreadPool $ PoolThread.run(QueuedThreadPool.java:582)
but the app is working. 但该应用程序正在运行。 Then I deploy my app in gae, and when i enter my app, it's give me error * 然后在gae中部署我的应用程序,当我进入我的应用程序时,它给我错误*
Error: Server Error The server encountered an error and could not complete your request. 错误:服务器错误服务器遇到错误,无法完成您的请求。 If the problem persists, please report your problem and mention this error message and the query that caused it. 如果问题仍然存在,请报告您的问题并提及此错误消息以及引起该问题的查询。
Who can help me? 谁能帮我?
When you run locally you need to setup a local MySQL instance. 在本地运行时,需要设置本地MySQL实例。 Follow the instructions under the section Using a Local MySQL Instance During Development . 请遵循在开发期间使用本地MySQL实例一节中的说明。
As iein valdez notes correctly, you have to create a local MySQL instance for local testing. 正如iein valdez正确指出的那样,您必须创建一个用于本地测试的本地MySQL实例。 The instructions can be found at this link: https://developers.google.com/cloud-sql/docs/developers_guide_java#using_the_java_development_server 可以在以下链接找到说明: https : //developers.google.com/cloud-sql/docs/developers_guide_java#using_the_java_development_server
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.