====================开发工具版本:WeX5_V3.3========================

报错背景:大二的时候用这个工具开发了一款APP,备份了项目数据库的SQL文件+项目在WeX5_V3.3\model\UI2下的GK(存放页面)和WeX5_V3.3\model\Baas里的search(存放服务源代码)这两个文件夹后,由于不再用WeX5开发就把平台删掉了。后来毕设重新需要运行这个项目,就

  1.重新在WeX5官网下载了WeX5_V3.3版本并解压;

  2.把GK文件夹拷贝至WeX5_V3.3\model\UI2目录下,把search拷贝至WeX5_V3.3\model\Baas目录下;

  3.启动自带数据库,启动数据库管理工具,直接执行备份的项目数据库SQL文件,建库成功。启动开发工具;

  4.右键GK下的index.w文件,选择“在浏览器中运行”

  5.发现访问数据库的操作时Tomcat报错,好像baas里我写的访问数据库的java类都没有找到似的。

由于报错时没有及时截图,问题解决后才想到要整理这次的解决思路,故重新搜索了一个相似问题的报错代码。我的报错类似于如下:

com.justep.baas.action.ActionException: 执行Class[device.Deploy__do] Method[queryDeploy]失败

        at com.justep.baas.action.Engine.execAction(Unknown Source)

        at com.justep.baas.action.Engine.execAction(Unknown Source)

        at com.justep.baas.servlet.BaasServlet.execService(Unknown Source)

        at com.justep.baas.servlet.BaasServlet.service(Unknown Source)

        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)

        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)

        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)

        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)

        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)

        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)

        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)

        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)

        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)

        at java.lang.Thread.run(Thread.java:745)

Caused by: java.lang.reflect.InvocationTargetException

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

        at java.lang.reflect.Method.invoke(Method.java:606)

        ... 16 more

Caused by: org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create
PoolableConnectionFactory (Unknown system variable 'language')

        at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1549)

        at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388)

        at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)

        at com.justep.baas.data.DataUtils.getConnection(Unknown Source)

        at com.justep.baas.action.ActionContext.getConnection(Unknown Source)

        at com.justep.baas.action.CRUD.query(Unknown Source)

        at device.Deploy__do.queryDeploy(Deploy__do.java:43)

        ... 20 more

Caused by: java.sql.SQLException: Unknown system variable 'language'

        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:998)

        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3847)

        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3783)

        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2447)

        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2594)

        at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2541)

        at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2499)

        at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1432)

        at com.mysql.jdbc.ConnectionImpl.loadServerVariables(ConnectionImpl.java:3870)

        at com.mysql.jdbc.ConnectionImpl.initializePropsFromServer(ConnectionImpl.java:3284)

        at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2293)

        at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2079)

        at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:794)

        at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:44)

        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)

        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

        at java.lang.reflect.Constructor.newInstance(Constructor.java:526)

        at com.mysql.jdbc.Util.handleNewInstance(Util.java:400)

        at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:399)

        at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:325)

        at org.apache.tomcat.dbcp.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)

        at org.apache.tomcat.dbcp.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582)

        at org.apache.tomcat.dbcp.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1556)

        at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1545)

        ... 26 more

三月 30, 2016 4:32:47 下午 org.apache.catalina.core.StandardWrapperValve invoke

严重: Servlet.service() for servlet WeX5_Baas_Servlet threw exception

java.sql.SQLException: Unknown system variable 'language'

        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:998)

        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3847)

        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3783)

        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2447)

        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2594)

        at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2541)

        at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2499)

        at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1432)

        at com.mysql.jdbc.ConnectionImpl.loadServerVariables(ConnectionImpl.java:3870)

        at com.mysql.jdbc.ConnectionImpl.initializePropsFromServer(ConnectionImpl.java:3284)

        at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2293)

        at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2079)

        at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:794)

        at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:44)

        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)

        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

        at java.lang.reflect.Constructor.newInstance(Constructor.java:526)

        at com.mysql.jdbc.Util.handleNewInstance(Util.java:400)

        at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:399)

        at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:325)

        at org.apache.tomcat.dbcp.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)

        at org.apache.tomcat.dbcp.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582)

        at org.apache.tomcat.dbcp.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1556)

        at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1545)

        at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388)

        at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)

        at com.justep.baas.data.DataUtils.getConnection(Unknown Source)

        at com.justep.baas.action.ActionContext.getConnection(Unknown Source)

        at com.justep.baas.action.CRUD.query(Unknown Source)

        at device.Deploy__do.queryDeploy(Deploy__do.java:43)

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

        at java.lang.reflect.Method.invoke(Method.java:606)

        at com.justep.baas.action.Engine.execAction(Unknown Source)

        at com.justep.baas.action.Engine.execAction(Unknown Source)

        at com.justep.baas.servlet.BaasServlet.execService(Unknown Source)

        at com.justep.baas.servlet.BaasServlet.service(Unknown Source)

        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)

        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)

        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)

        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)

        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)

        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)

        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)

        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)

        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)

        at java.lang.Thread.run(Thread.java:745)

------------------------------解决思路------------------------

首先我觉得有必要看下平台自带的demo运行时是否能够访问数据库,于是我运行了takeout外卖案例,发现也报错,数据同样访问不到。所以这个很可能是普遍配置出了问题。

1.找到官网“WeX5后端服务教程”视频教程,发现我还少了在开发工具中配置数据源:

(1)窗口->首选项->studio配置->数据源->增加;然后填写数据库的链接信息。我用的端口不是默认的3306而是自己设置的3308(因为我原本装有MySQL所以把Wex5自带的MySQL端口改了)

(2)打开Baas下的db.config.m文件,把自己的search数据库点勾上。

2.上面配置了数据源后,仍然报错。于是我参考搜到的Wex5论坛帖子(这一步太有用了)

(1)http://bbs.wex5.com/forum.php?mod=viewthread&tid=89538&highlight=%E6%89%A7%E8%A1%8CClass%2BMethod%2B%E5%A4%B1%E8%B4%A5

这个人说他解决了,原因是mysql的jar包版本太高,降到mysql-connector-java-5.1.22-bin.jar就好了。

(2)http://bbs.wex5.com/forum.php?mod=viewthread&tid=86472&highlight=%E6%89%A7%E8%A1%8CClass%2BMethod%2B%E5%A4%B1%E8%B4%A5

里面有个人提到了他的几种尝试:

3.参考过后,我是这么做的:(多亏了参考帖子,我解决了问题)

(1)找到WeX5_V3.3\apache-tomcat\conf\context.xml,发现数据源配置已经写好了:如下图。于是我没有改动。

(2)从网上下载了mysql-connector-java-5.1.22-bin.jar,找到WeX5_V3.3\apache-tomcat\lib目录下,发现原来自带的jar包版本是mysql-connector-java-5.1.36-bin.jar,于是我把原来的5.1.36删掉,把我刚下载的5.1.22拷贝到此目录下。

(3)重新打开数据库服务、开发工具,把baas、UI2两个目录单击右键“模块编译”,完成后,启动tomcat,重新在浏览器中运行,不论是我的项目还是demo项目,都可以访问到数据库中的记录了。

问题解决。

猜想核心起作用的一步,就是替换了数据库连接驱动的版本,也就是那个jar包。

Wex5执行Class[search.login__do] Method[login]失败的更多相关文章

  1. 网易客户端授权密码,errormsg='authentication failed (method LOGIN)' exitcode=EX_NOPERM

    zabbix群里一网友在安装msmtp+mutt测试发送邮件失败 配置文件如下: /usr/local/msmtp/etc/msmtprc account default host smtp..com ...

  2. moviepy执行TextClip.search方法时报错TypeError: a bytes-like object is required, not str

    ☞ ░ 前往老猿Python博文目录 ░ 执行TextClip.search方法时,报错: >>> from moviepy.editor import * >>> ...

  3. Eclipse编译运行没问题,但执行mvn clean install跑单元测试失败的原因解析

    问题描述:mvn clean install编译工程并运行单元测试出现如下错误 Tests run: 3, Failures: 0, Errors: 2, Skipped: 0, Time elaps ...

  4. 解决 使用migrations 执行update-database 出现System.InvalidOperationException: 实例失败的问题

    好久没有使用Code First的方式来创建模型了  今天重温了一下 但是出现了很多问题 现在总结一下 在我做完初期的操作的之后,使用 update-database -verbose 更新数据库时, ...

  5. 执行sudo apt-get update,连接失败

    问题:sudo apt-get update连接失败 错误:1 http://cn.mirrors.ustc.edu.cn/ubuntu bionic InRelease 连接失败 [IP: 218. ...

  6. Ubuntu执行su后输入密码结果认证失败--解决办法:sudo passwd修改命令

  7. android studio执行 Information:Gradle tasks [:app:assembleDebug]失败处理

    Error:Execution failed for task ‘:app:mergeDebugResources’. > Some file crunching failed, see log ...

  8. hive执行结果moveTask操作失败

    hive执行结果moveTask操作失败 Apache Hive 2.1.0 ,在执行"INSERT OVERWRITE TABLE ...... select "或者 " ...

  9. jenkins windows执行批处理脚本总是失败

    使用jenkins 在使用编译vc++的一个项目,在执行批处理脚本的时候总是失败, 但是在控制台无论是管理员还是普通用户都能正常编译,jenkins每次都失败,看日志就是调用一个cmd命令直接失败,e ...

随机推荐

  1. 【Unity Shaders】Reflecting Your World —— Unity3D中的法线贴图和反射

    本系列主要参考<Unity Shaders and Effects Cookbook>一书(感谢原书作者),同时会加上一点个人理解或拓展. 这里是本书所有的插图.这里是本书所需的代码和资源 ...

  2. (NO.00002)iOS游戏精灵战争雏形(十二)

    首先要声明的是,前几篇实现的shoot方法不是一定会命中目标,这取决于目标运行的速度,子弹的速度,子弹发射的时机以及弹道路径中是否有障碍物等等. 这也是符合实际情况的.如果你的要求是一旦发出子弹必定击 ...

  3. ACM算法竞赛:抄课文

    题目如下: 比如现在要写一句话 Hello world 输入: n (n > 0) 比如输入的n为10,就将Hello world打印十 #include <stdio.h> #in ...

  4. 用CSS指定外部链接的样式

    大部分的信息类网站,比如维基百科,都会对外部链接(<a>标签)指定特定的样式.作为用户,一眼就知道该链接是指向另一个站点的资源是很好的体验.许多网站在服务器端做外部链接检查,添加一个`re ...

  5. java中throw与throws

    类或函数声明,用throws表示,函数体中,可能抛出的错误,后接多个. 1.系统自动抛出的异常 系统定义的编译和运行异常都可以由系统自动抛出,称为标准异常. 2.语句抛出的异常 用户程序自定义的异常和 ...

  6. Swift基础之UIButton

    //设置全局变量,将下面的替换即可    //var myButton = UIButton();    //系统生成的viewDidLoad()方法    override func viewDid ...

  7. mysql进阶(八)怎么对varchar类型排序问题

    MySQL中怎么对varchar类型排序问题 asc 升级 desc降序 在mysql默认order by 只对数字与日期类型可以排序,但对于varchar字符型类型排序好像没有用了,下面我来给各位同 ...

  8. C++中const的实现机制深入分析

    via:http://www.jb51.net/article/32336.htm C语言以及C++语言中的const究竟表示什么?其具体的实现机制又是如何实现的呢?本文将对这两个问题进行一些分析,需 ...

  9. 【Android 应用开发】Android开发技巧--Application, ListView排列,格式化浮点数,string.xml占位符,动态引用图片

    一. Application用途 1. Application用途 创建Application时机 : Application在启动的时候会调用Application无参的构造方法创建实例; Appl ...

  10. cdh5 hadoop redhat 本地仓库配置

    cdh5 hadoop redhat 本地仓库配置 cdh5 在网站上的站点位置: http://archive-primary.cloudera.com/cdh5/redhat/6/x86_64/c ...