java - Tomcat 7 Liferay 6.2 关于损坏数据库的奇怪错误

标签 java apache tomcat liferay portal

18:03:55,526 ERROR [localhost-startStop-1][MainServlet:209] java.lang.IllegalStateException: The database contains changes from a previous upgrade attempt that failed. Please restore the old database and file system and retry the upgrade. A patch may be required if the upgrade failed due to a bug or an unforeseen data permutation that resulted from a corrupt database.
java.lang.IllegalStateException: The database contains changes from a previous upgrade attempt that failed. Please restore the old database and file system and retry the upgrade. A patch may be required if the upgrade failed due to a bug or an unforeseen data permutation that resulted from a corrupt database.
        at com.liferay.portal.tools.DBUpgrader._checkReleaseState(DBUpgrader.java:314)
        at com.liferay.portal.tools.DBUpgrader.upgrade(DBUpgrader.java:136)
        at com.liferay.portal.events.StartupAction.doRun(StartupAction.java:160)
        at com.liferay.portal.events.StartupAction.run(StartupAction.java:68)
        at com.liferay.portal.servlet.MainServlet.processStartupEvents(MainServlet.java:1238)
        at com.liferay.portal.servlet.MainServlet.init(MainServlet.java:206)
        at javax.servlet.GenericServlet.init(GenericServlet.java:160)
        at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1280)
        at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1193)
        at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1088)
        at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5198)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5481)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:634)
        at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:671)
        at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1840)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)
Stopping the server due to unexpected startup errors

我没有幸运地在线研究这个问题。 Liferay 将因此而无法启动。我到底需要做什么来解决它?一般来说,我对门户开发有点陌生,如果有人能指出我正确的方向,我将不胜感激。

更新: 我认为问题是 liferay 死心塌地地使用这个损坏的 Oracle 数据库并且它完全忽略了我的 portal-ext.properties 文件。我检查了 ROOT 和 Liferay 的/lib 并手动覆盖了每个 .jar 中的 portal.properties 文件并重新打包它们,仍然没有运气!如果 liferay 忽略了 portal-ext.properties,我如何让它使用另一个数据库(我已经尝试将它放在/ROOT/WEB-INF/classes 中并直接放在/$LIFERAY_HOME 中,但它仍然无法加载。

最佳答案

您会在启动过程中写入的日志中找到 Liferay 使用的 portal-*.properties 文件。

此外,检查您的 ${liferay.home} 目录中是否有 portal-startup-wizard.properties 文件。该文件因将 ${liferay.home} 定义在不同的位置而臭名昭著(例如,启动向导运行时您首次安装 Liferay 的位置)。如果是这种情况,您仍然会找到您的原始位置 portal-ext.properties 文件,因为它实际上是 ${liferay.home}/portal-ext.properties

日志会告诉您(所有这些)文件的确切使用版本

关于损坏的数据库,您需要开始清理(如果不需要旧数据)或恢复备份,然后再次开始升级过程。我假设你有备份?

关于java - Tomcat 7 Liferay 6.2 关于损坏数据库的奇怪错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21121031/

相关文章:

java - JSPG0122E : Unable to parse EL function in Websphere 7

java - Spring Tomcat 多个 HTTPS 端口

java - 不得从 JSP 文件中引用默认包中的类

java - 使用 JSP/Servlet 在网页上显示 Excel 工作表?

java - 使用 SQL Server uniqueidentifier 在 Java 中生成顺序 GUID

apache - 如何在 Tomcat 中将 deployXML 设置为 false?

apache - 如何使用 Spring Boot 提供位于 Dropbox 文件夹中的静态内容?

java - 如何使用 Apache CXF 从类路径加载信任库?

java - 我在 intellij 上运行 Spring Boot 应用程序时遇到错误。有人能帮我吗?

java - Android Studio 原生 Java 应用程序开发中是否有 `hot reload` 功能?