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/