windwos系统tomcat迁移到Linux所遇问题
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即可。
目录 返回
首页