Upgrade 6.2.5 to 6.3.4 failed — actually, not :-)

Hi!
Finally resolved what was the issue of broken Reindeer. Maybe this will be a good tip to those who are messing up with portlets on things like a Liferay. In my case it is a Liferay 5 on top of GlassFish (both) and OpenSolaris.

Problem cause: older Vaadin in WEB-INF/lib/ per application WAR. :frowning:

Shortly, make sure that in your application’s WAR file you have
no
vaadin JAR WEB-INF/lib.
Never
include Vaadin in your app and VAADIN/* resources ever as Eclipse suggests, but instead have one shared Vaadin across each app. Normally, a typical WAR package of some portlet that includes nothing very special weights kilobytes, not megabytes.

Note: if your WAR needs some special set of some JAR libraries, still consider place them on a server domain instead. Package managers like RPM or Debian dkpg or in my case IPS from OpenSolaris — are your very good friends here, because your appserver and stuff are not just randomly un’tar’ed archives somewhere to /usr/local/foobar, but properly installed on a production from your own careful packages infrastructure, correct? :slight_smile:

In my case, with a time I just simply forgot this lib folder existed, since projects was imported from Eclipse to NetBeans. Hence app is using old Vaadin with new resources, thus theme was broken. Cache of the browser and server was not really guilty (excluding Google Chrome that caches things very aggressively — this thing needed full reset and app restart).

And one more thing: Liferay does
not
clears this folder, unless portlet is totally removed in a hard way. So redeploy smaller WAR actually does not fixes the problem: I had to remove these JARs directly on the file system.
11306.png

You are absolutely right. The Eclipse plugin can mislead you badly here. I noticed with Tomcat it seems to work that you have both common vaadin jar as well as one incuded in the war. However, I think that it is more or less good luck and will yield to problems later on.

It has been planned (and postponed) for a long time to add a “Liferay” configuration option to the project creation wizard, using the shared Vaadin JAR in a Liferay installation instead of a separate copy in the project.

See
ticket 3380
for more details.