简体   繁体   English

Google Cloud SQL和Google App Engine

[英]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.

相关问题 部署后的Google App Engine和Cloud SQL - Google App Engine and Cloud SQL when deployed 使用Google App Engine端点连接到Cloud SQL - Connect to Cloud SQL with Google App Engine Endpoint 生产中Google App Engine和Google Cloud SQL的连接出现问题 - Issue with connection from Google App Engine and Google Cloud SQL on production Google App Engine / Google Cloud SQL-检测它是MySQL还是Google Cloud SQL - Google App Engine/ Google Cloud SQL - Detect if it is MySQL or Google Cloud SQL Google APP Engine 和云 sql :: 无法在 Google 云 sql(我的 sql)中连接 Spring boot 应用程序 - Google APP Engine and cloud sql :: Unable to connect Spring boot app in Google cloud sql (my sql) 是否可以将JPA连接池与Google App Engine和Cloud SQL一起使用? - Is it possible to use a JPA connection pool with Google App Engine and Cloud SQL? 在本地并通过App Engine Flex连接到Google Cloud SQL(PostgreSQL) - Connecting to Google Cloud SQL (PostgreSQL) locally and through App Engine Flex 将Google App Engine Eclipse插件连接到Cloud SQL - Connect Google App Engine Eclipse Plugin to Cloud SQL Google App Engine + Cloud SQL +休眠管道中断 - Google App Engine + Cloud SQL + Hibernate Broken pipe 适用于Java和Google云存储的Google App Engine - Google App Engine for Java and Google Cloud Storage
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM