Inhaltsverzeichnis
Upgrade OpenCms from 9.0.1 to 10.0.1#
- Download OpenCms 10.0.1 Upgrade Wizard
- Unzip opencms-upgrade-to-10.0.1.zip
- Read file "readme.txt"
Comments and my own instructions#
1. Create backup (!)2. After wizard step "Module Selection" I get following message
HTTP Status 500 OpenCms is not properly initialized! Please make sure that the OpenCms setup wizard has been run once and is disabled now.
A web search suggested to "delete the contents of the tomcat work folder and run the setup again.
This kind of error can occur, if you had a previous opencms version installed in the same servlet container."
=> did NOT help
There is also no hint in .../WEB-INF/logs/update.log
Another suggestion was
- Restored a backup (Web application and the CMS db) and started the CMS servlet container. - Deselected the "Use Upload Applet" option in the OpenCMS User Preferences (as mentioned in http://mail.opencms.org/pipermail/opencms-dev/2007q1/027888.html) - Verified the User Management >> User properties to ensure that the entry "USERPREFERENCES_workplace-generaloptionsuploadapplet at java.lang.Boolean=false" is not present. (as mentioned in http://lists.opencms.org/pipermail/opencms-dev/2011q2/035708.html) - The index generation has been disabled, the files opencms.properties and cmsupdate.ori were modified as mentioned in the readme file.=> did NOT help
Then I tried to upgrade only to 9.5. This is basically the same procedure. => the module update started, but never finished, so did NOT work
Then I started to analyse the logs, check
- tomcats's /logs/catalina.log
- webapps/opencms/WEB-INF/logs/opencms.log
- webapps/opencms/WEB-INF/logs/update.log
Here I found
java.lang.LinkageError: loader constraint violation: when resolving method "org.apache.commons.digester.Digester.setLogger(Lorg/apache/commons/logging/Log;)V" the class loader (instance of org/apache/tomee/catalina/TomEEWebappClassLoader) of the current class, org/opencms/configuration/CmsSetNextRule, and the class loader (instance of java/net/URLClassLoader) for the method's defining class, org/apache/commons/digester/Digester, have different Class objects for the type org/apache/commons/logging/Log used in the signatureSOLUTION:
In tomcat's lib folder I had commons-logging-1.1.1.jar, but in the opencms/WEB-INF/lib I had commons-logging-1.0.4.jar, commons-logging-1.1.jar, commons-logging-1.1.1.jar, commons-logging-1.1.3.jar !
Additionally I noticed that I have multiple versions of many jars here. I removed commons-logging-1.0.4.jar, commons-logging-1.1.jar, commons-logging-1.1.3.jar in opencms, so that it kept thesame as tomcat, which was commons-logging-1.1.1.jar.
=> THIS WORKED !!!
Nevertheless I deleted all minor versions of the same jar type in the opencms lib folder. It seems that the copy of the upgrade WEB-INF folder just add new versions. This should be mentioned in the readme.txt.