Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 应用程序在ubuntu中表现怪异,但在windows中运行良好_Java_Mysql_Tomcat_Ubuntu_Struts - Fatal编程技术网

Java 应用程序在ubuntu中表现怪异,但在windows中运行良好

Java 应用程序在ubuntu中表现怪异,但在windows中运行良好,java,mysql,tomcat,ubuntu,struts,Java,Mysql,Tomcat,Ubuntu,Struts,我有一个简单的基于java的web应用程序(使用servlet、jsp和struts框架)。该应用程序使用mysql作为数据库服务器,使用tomcat作为应用服务器 该应用程序在windows上运行良好,但当我在ubuntu中部署相同的应用程序时,会出现以下错误: ### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'dbconnect.ACT_

我有一个简单的基于java的web应用程序(使用servlet、jsp和struts框架)。该应用程序使用mysql作为数据库服务器,使用tomcat作为应用服务器

该应用程序在windows上运行良好,但当我在ubuntu中部署相同的应用程序时,会出现以下错误:

### Error querying database.  Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'dbconnect.ACT_GE_PROPERTY' doesn't exist
The error occurred while setting parameters
SQL: select VALUE_ from ACT_GE_PROPERTY where NAME_ = 'schema.version'
Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'dbconnect.BDB_PROPERTIES' doesn't exist
at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:23)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:104)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:95)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:59)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:54)
at org.activiti.engine.impl.db.DbSqlSession.getDbVersion(DbSqlSession.java:741)
at org.activiti.engine.impl.db.DbSqlSession.dbSchemaCheckVersion(DbSqlSession.java:697)
在mysql数据库中,dbconnect数据库中创建了两个表,一个是大写名称(即ACT_GE_属性),另一个是小写名称(即ACT_GE_属性),这些表是由应用程序自动创建的

当我在windows上运行应用程序时,只有一个表被创建为小写的act_ge_属性,但在ubuntu中,两个表被创建为一个大写,一个小写,即act_ge_属性和act_ge_属性

我不知道是什么问题,有人能帮我吗

编辑

错误:

04:08:20,856 [main] ERROR org.activiti.engine.impl.interceptor.CommandContext  - Error while closing command context
org.activiti.engine.ActivitiException: no activiti tables in db. set <property name="databaseSchemaUpdate" to value="true" or value="create-drop" (use create-drop for testing only!) in bean processEngineConfiguration in activiti.cfg.xml for automatic schema creation
at   org.activiti.engine.impl.db.DbSqlSession.dbSchemaCheckVersion(DbSqlSession.java:719)
at org.activiti.engine.impl.db.DbSqlSession.performSchemaOperationsProcessEngineBuild(DbSqlSession.java:1111)
at org.activiti.engine.impl.SchemaOperationsProcessEngineBuild.execute(SchemaOperationsProcessEngineBuild.java:25)
at org.activiti.engine.impl.interceptor.CommandExecutorImpl.execute(CommandExecutorImpl.java:24)
at org.activiti.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:61)
at org.activiti.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:31)
at org.activiti.engine.impl.ProcessEngineImpl.<init>(ProcessEngineImpl.java:76)
at org.activiti.engine.impl.cfg.ProcessEngineConfigurationImpl.buildProcessEngine(ProcessEngineConfigurationImpl.java:372)
at org.activiti.engine.ProcessEngines.buildProcessEngine(ProcessEngines.java:194)
at org.activiti.engine.ProcessEngines.initProcessEnginFromResource(ProcessEngines.java:167)
at org.activiti.engine.ProcessEngines.init(ProcessEngines.java:98)
at org.activiti.engine.ProcessEngines.getProcessEngine(ProcessEngines.java:224)
at org.activiti.engine.ProcessEngines.getDefaultProcessEngine(ProcessEngines.java:217)
at org.activiti.rest.servlet.ActivitiServletContextListener.contextInitialized(ActivitiServletContextListener.java:32)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4206)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4705)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:943)
at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:778)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:504)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1317)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1065)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
at org.apache.catalina.core.StandardService.start(StandardService.java:525)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: org.apache.ibatis.exceptions.PersistenceException: 
### Error querying database.  Cause:   com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'dbconnect.act_ge_property' doesn't exist
### The error may exist in org/activiti/db/mapping/entity/Property.xml
### The error may involve defaultParameterMap
### The error occurred while setting parameters
### SQL: select VALUE_ from ACT_GE_PROPERTY where NAME_ = 'schema.version'
04:08:20856[main]错误org.activiti.engine.impl.interceptor.CommandContext-关闭命令上下文时出错

org.activiti.engine.activitieException:数据库中没有activiti表。在Windows上,磁盘上的文件名不区分大小写。然而,在Linux上,它们是区分大小写的

在Windows MySQL安装中,当表写入底层磁盘文件时,这种大小写不敏感的特性将传递给数据库应用程序,这意味着表名不区分大小写

相反,在Linux上,表名区分大小写

MySQL提供了一个服务器系统变量,用于始终将表名转换为小写:


您能检查一下mysql中是否创建了
ACT\u GE\u属性
表吗?@Aniket是的,已创建,一个大写,另一个小写,但错误显示
ACT\u属性
BDB\u属性
表不存在。在windows
BDB_属性
表和ubuntu
ACT__属性
上,我没有得到这两个表之间的任何关系?@Aniket没有BDB_属性表。我的错,我更新了问题。请再次查看您是否也可以更新异常,它是较旧的异常,因为存在表名
BDB_PROPERTIES
?那么,我在哪里设置此变量?我应该将其设置为1还是2?设置:我认为它在my.cnf中。它不是动态的,所以不能用set命令进行设置。将其设置为1。我在my.cnf文件中设置了lower_case_table_names=1,重新启动了mysql服务器,但现在得到了一个不同的错误。请查看edit设置此变量后,表只创建了一次,即在mysql数据库中仅以小写形式创建。以前,它们被创建了两次,一次是大写,一次是小写。