记录日常工作关于系统运维,虚拟化云计算,数据库,网络安全等各方面问题。

tomcat jsp网站从wiindows迁移到Linux后,

打开程序,提示 数据库查询没有成功,

检查tomcat 日志发现以下错误:


ERROR UserOper:385 - select a.*,b.CORP_NAME,b.PARENT_ID,b.SYSTEM_LEVEL from tab_sys_user a,V_corp b where a.CORP_ID=b.CORP_ID  order by b.order_code,a.truename
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'sjmobile.V_corp' doesn't exist

 ERROR UserCache:69 - findData
com.tw.publicclass.base.CException: 数据库查询没有成功


经测试发现,是mysql 严格限制了sql语句的大小写。

修改mysql 配置文件里面的内容,增加下面一行之后解决,报错误。

[mysqld]
 
lower_case_table_names=1



解决登陆报错问题后,又发现web网站不能显示内容。

报错如下:


09-Jul-2016 02:08:45.111 WARNING [http-nio-9080-exec-5] org.apache.jasper.compiler.Compiler.removeGeneratedClassFiles Failed to delete generated class file [/usr/local/tomcat/work/Catalina/localhost/ROOT/org/apache/jsp/jsp/system/myAccount_005fnew_jsp.class]

09-Jul-2016 02:08:45.111 WARNING [http-nio-9080-exec-5] org.apache.jasper.compiler.Compiler.removeGeneratedFiles Failed to delete generated Java file [/usr/local/tomcat/work/Catalina/localhost/ROOT/org/apache/jsp/jsp/system/myAccount_005fnew_jsp.java]

09-Jul-2016 02:08:45.134 WARNING [http-nio-9080-exec-5] org.apache.jasper.compiler.Compiler.generateJava Failed to delete generated Java file [/usr/local/tomcat/work/Catalina/localhost/ROOT/org/apache/jsp/jsp/system/myAccount_005fnew_jsp.java]


检查权限后发现tomcat 使用别的账号运行。然后就修改了tomcat 权限就可以了。

造成这个警告的原因和linux用户权限有关系,开始使用root用户部署和启动过tomcat,再切换到普通用户部署启动会出现这个警告。

把jsp编译成class的过程中,没有权限去删除以前存在的class文件,自然也就无法编译生成新的class文件,所以出现警告。


 解决办法是shutdown tomcat  使用root用户登录或者用sudo命令 删除/work/Catalina/localhost  目录下部署的项目 ,切换到普通用户 部署 启动 tomcat即可。




转载请标明出处【windwos系统tomcat迁移到Linux所遇问题】。

《www.micoder.cc》 虚拟化云计算,系统运维,安全技术服务.

网站已经关闭评论