尝试部署较旧的Liferay Portal版本

时间:2014-07-04 07:22:59

标签: java postgresql tomcat liferay hsqldb

我有一个非常奇怪的问题需要解决。我在 Tomcat 上尝试启动 Liferay Portal 时出现以下错误行:

java.lang.IllegalStateException: Attempting to deploy an older Liferay Portal version. Current build version is 6201 and attempting to deploy version 6101.
at com.liferay.portal.tools.DBUpgrader.upgrade(DBUpgrader.java:105)
at com.liferay.portal.events.StartupAction.doRun(StartupAction.java:144)
at com.liferay.portal.events.StartupAction.run(StartupAction.java:52)
at com.liferay.portal.servlet.MainServlet.processStartupEvents(MainServlet.java:1306)
at com.liferay.portal.servlet.MainServlet.init(MainServlet.java:214)
at javax.servlet.GenericServlet.init(GenericServlet.java:160)
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1266)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1185)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1080)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5015)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5302)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:895)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:871)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:615)
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:649)
at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1585)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)

我发现只有人们真正想要升级门户网站并获得此消息的主题。我的工作区看起来像这样:

  • Windows,localhost,
  • Liferay 6.1 CE捆绑了Tomcat,使用PostgreSQL在JRE 6上运行,
  • Liferay 6.2 CE与Tomcat捆绑在一起,使用HSQL在JRE 7上运行。

我不想升级,我只想让两个版本都存在。

谢谢你们!

3 个答案:

答案 0 :(得分:3)

在Liferay安装目录中,您通常会找到名为portal-ext.properties的文件。这通常具有Liferay将使用的数据库的配置。您运行的两个版本都应指向不同的数据库,然后您可以将这两个版本安装在并行中。

如果你想同时运行它们,你还需要修改tomcat(假设你使用的是appserver。在port="xxxx"中查找所有tomcat/conf/server.xml声明并将它们更改为distinct值(OOTB每个tomcat安装有三个)。在Eclipse / Liferay IDE中,您还可以在服务器信息屏幕中找到端口声明。

答案 1 :(得分:1)

您可以查看此链接,因为它可以帮助我。 Click here

有一个名为release_的表,其中包含列构建号。 这有内置编号。 我遇到了同样的问题所以我只删除了这个表,然后再次重启服务器。 我备份了我的db版本liferay 6.2 cega2。 我尝试在不同的机器上安装相同的版本,我收到了这个错误。

答案 2 :(得分:0)

当您将Liferay版本X(6.2.0.1)与Liferay版本Y(6.1.0.1)的数据库指向时,会出现此类错误。

首先必须迁移数据库。

参考6.2 migration

的链接

EDIT ====

您可以为不同的Liferay版本使用不同的数据库架构。您无法使用相同的数据库架构运行不同的版本。