6.2.1-ce-ga2-security-3.0.zip - Installation problem6.2.1-ce-ga2-security-3.0.zip - Installation problemhttps://liferay.dev/en/c/message_boards/find_thread?p_l_id=119785333&threadId=431078392024-03-29T01:24:50Z2024-03-29T01:24:50ZRE: 6.2.1-ce-ga2-security-3.0.zip - Installation problemDavid H Nebingerhttps://liferay.dev/en/c/message_boards/find_message?p_l_id=119785333&messageId=625714502015-11-04T21:48:09Z2015-11-04T21:48:09ZTomcat loads the same way, @Dennis, as does JBoss. I think the others do also.David H Nebinger2015-11-04T21:48:09ZRE: 6.2.1-ce-ga2-security-3.0.zip - Installation problemDenis Signorettohttps://liferay.dev/en/c/message_boards/find_message?p_l_id=119785333&messageId=434227762014-10-01T16:31:12Z2014-10-01T16:31:12ZHi George,<br /><br />unfortunately my workaround it's probably not 100% safe. Putting both ext-portal-service.jar and portl-service.jar<br />in the same directory solve the problem of classloading but doesn't guarantee that ext version of classes takes<br />precedence over overwritten classes. From my empirical trials (I wrote a simple JSP that print out the jar<br />where GroupServiceUtil it's loaded from) it seems that glassfish load jars alphabetically (but it's not specified anywhere)<br />and ext-* jar shold take precedence. If want to be 100% sure I suggeste to follow the Samuel's merge solution.<br /><br />Regards,<br />Denis.Denis Signoretto2014-10-01T16:31:12ZRE: 6.2.1-ce-ga2-security-3.0.zip - Installation problemGeorge Oakleyhttps://liferay.dev/en/c/message_boards/find_message?p_l_id=119785333&messageId=433395842014-09-30T10:09:51Z2014-09-30T10:09:51Z<div class="quote-title">Denis Signoretto:</div><blockquote>Moving ext-portal-service.jar in domain-dir/lib (where it should be already present portal-service.jar) should solve.<br /><br />I've done some trial with liferay 6.2.1 bundled for glassfish and I was able to reproduce the problem (putting ext-portal-service.jar in domain/lib/ext) and solve (putting ext-portal-service.jar in domain/lib).</blockquote><br /><br />Hey guys,<br />Thanks for support! I tested Denis way (thanks for good GF specification research). No errors have been reported in logs. Is this method also a good workaround to?George Oakley2014-09-30T10:09:51ZRE: 6.2.1-ce-ga2-security-3.0.zip - Installation problemJames Falknerhttps://liferay.dev/en/c/message_boards/find_message?p_l_id=119785333&messageId=432202352014-09-26T14:00:08Z2014-09-26T14:00:08Z<div class="quote-title">Denis Signoretto:</div><blockquote><div class="quote-title">James Falkner:</div><blockquote>Hey guys, I get the same thing on GF.. investigating.. I'm sure it'll come down to classloading magical differences between app servers.</blockquote><br /><br />Hi James,<br /><br />after some <a href="investigation">investigation</a>[1] I've seen glassfish has multiple classloaders organized as described in <a href="http://docs.oracle.com/cd/E18930_01/html/821-2418/beadf.html">Glassfish Class Loader Hierarchy</a>[2]. As you can see, "domain-dir/lib/ext" directory it's managed by Extension class loader while "domain-dir/lib" it's managed by Common class loader that it's at lower level compared to Extension class loader). As reported in [1] domain-dir/lib it's the preferred place for a library to be made available to the whole domain.</blockquote><br /><br />Yep, this is exactly what is happening: GlassFish's domain-dir/lib/ext is *not* an ancestor of the common classloader, so references from lib/ext -> lib/ will fail to resolve (like in this case).<br /><br />For now, see Sam's suggested workaround to manually merge the two JARs (overwriting classes found in portal-service.jar with those in ext-portal-service.jar). Yeah, it's an ugly workaround. We're looking into how best to distribute going forward - doing the merge ourselves will make the download gigantic, so hopefully there is an alternative.James Falkner2014-09-26T14:00:08ZRE: 6.2.1-ce-ga2-security-3.0.zip - Installation problemDenis Signorettohttps://liferay.dev/en/c/message_boards/find_message?p_l_id=119785333&messageId=432124822014-09-26T11:03:02Z2014-09-26T11:03:02ZHi Samuel,<br /><br />what about other jars (ext-portal-impl.jar and ext-util-taglib.jar) ? Do you suggest to do the same merge operation ?<br />Why not build and distribute already merged artifacts (jar/war) ? (it should simplify deployment on various app server)Denis Signoretto2014-09-26T11:03:02ZRE: 6.2.1-ce-ga2-security-3.0.zip - Installation problemSamuel Konghttps://liferay.dev/en/c/message_boards/find_message?p_l_id=119785333&messageId=432060562014-09-26T08:57:17Z2014-09-26T08:57:17ZHi George,<br /><br />As James said, this is probably a class loading issue. Can you try merging the portal-service.jar and ext-portal-service.jar. (The files in ext-portal-service.jar should replace the files in portal-service.jar). Locate the original portal-service.jar and replace this file with the merged jar.<br /><br />We'll look into making this easier in the future.Samuel Kong2014-09-26T08:57:17ZRE: 6.2.1-ce-ga2-security-3.0.zip - Installation problemDenis Signorettohttps://liferay.dev/en/c/message_boards/find_message?p_l_id=119785333&messageId=431521652014-09-25T08:24:17Z2014-09-25T08:24:17Z<div class="quote-title">James Falkner:</div><blockquote>Hey guys, I get the same thing on GF.. investigating.. I'm sure it'll come down to classloading magical differences between app servers.</blockquote><br /><br />Hi James,<br /><br />after some <a href="investigation">investigation</a>[1] I've seen glassfish has multiple classloaders organized as described in <a href="http://docs.oracle.com/cd/E18930_01/html/821-2418/beadf.html">Glassfish Class Loader Hierarchy</a>[2]. As you can see, "domain-dir/lib/ext" directory it's managed by Extension class loader while "domain-dir/lib" it's managed by Common class loader that it's at lower level compared to Extension class loader). As reported in [1] domain-dir/lib it's the preferred place for a library to be made available to the whole domain.<br />I guess the issue probably arises when some classes loaded by Extension classloader (if you have ext-portal-service.jar in domain/lib/ext) try to reference/load a class not already loaded and present in portal-service.jar that it's in domain-dir/lib and managed by Common class loader - hierarchically at lower level and not visible by Extension class loader).<br /><br />Moving ext-portal-service.jar in domain-dir/lib (where it should be already present portal-service.jar) should solve.<br /><br />I've done some trial with liferay 6.2.1 bundled for glassfish and I was able to reproduce the problem (putting ext-portal-service.jar in domain/lib/ext) and solve (putting ext-portal-service.jar in domain/lib).<br /><br />In effect it seems a peculiar settings for glassfish where system properties liferay.lib.global.dir=domains/domain1/lib, liferay.lib.global.shared.dir=" it's empty and java.ext.dirs=domains/domain1/lib/ext<br /><br />HTH !!!<br /><br />Best Regards,<br />Denis.<br /><br />[1] - <a href="https://blogs.oracle.com/sivakumart/entry/classloaders_in_glassfish_an_attempt">https://blogs.oracle.com/sivakumart/entry/classloaders_in_glassfish_an_attempt</a><br />[2] - <a href="http://docs.oracle.com/cd/E18930_01/html/821-2418/beadf.html">http://docs.oracle.com/cd/E18930_01/html/821-2418/beadf.html</a>Denis Signoretto2014-09-25T08:24:17ZRE: 6.2.1-ce-ga2-security-3.0.zip - Installation problemJames Falknerhttps://liferay.dev/en/c/message_boards/find_message?p_l_id=119785333&messageId=431263252014-09-24T16:32:09Z2014-09-24T16:32:09Z<div class="quote-title">David H Nebinger:</div><blockquote><div class="quote-title">Denis Signoretto:</div><blockquote>not ..\glassfish\domains\domain1\lib\ext (that it's reserver for JDK extensions).</blockquote><br /><br />No, Liferay uses lib/ext on many app containers to isolate Liferay-provided jars from the app server's jars.</blockquote><br /><br /><br />Hey guys, I get the same thing on GF.. investigating.. I'm sure it'll come down to classloading magical differences between app servers.James Falkner2014-09-24T16:32:09ZRE: 6.2.1-ce-ga2-security-3.0.zip - Installation problemDavid H Nebingerhttps://liferay.dev/en/c/message_boards/find_message?p_l_id=119785333&messageId=431245912014-09-24T16:04:46Z2014-09-24T16:04:46Z<div class="quote-title">Denis Signoretto:</div><blockquote>not ..\glassfish\domains\domain1\lib\ext (that it's reserver for JDK extensions).</blockquote><br /><br />No, Liferay uses lib/ext on many app containers to isolate Liferay-provided jars from the app server's jars.David H Nebinger2014-09-24T16:04:46ZRE: 6.2.1-ce-ga2-security-3.0.zip - Installation problemDenis Signorettohttps://liferay.dev/en/c/message_boards/find_message?p_l_id=119785333&messageId=431208142014-09-24T15:33:38Z2014-09-24T15:33:38ZI'm not a really expert of Glassfish. I suppose the right place where to put ext-portal-service.jar for Glassfish it's glassfish\domains\domain1\lib and not ..\glassfish\domains\domain1\lib\ext (that it's reserver for JDK extensions).Denis Signoretto2014-09-24T15:33:38ZRE: 6.2.1-ce-ga2-security-3.0.zip - Installation problemGeorge Oakleyhttps://liferay.dev/en/c/message_boards/find_message?p_l_id=119785333&messageId=431177722014-09-24T14:12:29Z2014-09-24T14:12:29ZHi Denis,<br /><br />Thanks for reply. Yes, i checked it. It is still in: ..\glassfish\domains\domain1\lib\portal-service.jar .<br />I copied ext-portal-service.jar to ..\glassfish\domains\domain1\lib\ext .<br /><br />I checked another version 6.2.1-ce-ga2-security-2.0.zip in same environment and it looks fine - no errors appear in logs file.<br /><br />Is it possible that 6.2.1-ce-ga2-security-3.0.zip in http://sourceforge.net/projects/liferay-patches/files/6.2.1%20GA2/ is corrupted?George Oakley2014-09-24T14:12:29ZRE: 6.2.1-ce-ga2-security-3.0.zip - Installation problemDenis Signorettohttps://liferay.dev/en/c/message_boards/find_message?p_l_id=119785333&messageId=431118362014-09-24T12:34:37Z2014-09-24T12:34:37ZHi George,<br /><br />errors in attached log are related with missing of class com.liferay.portal.model.AttachedModel in classpath.<br />This class it's contained in portal-service.jar. Can you check you still have portal-service.jar in your shared libraries directory and that it contains AttachedModel class (e.g. /glassfish-3.1-web/glassfish3/glassfish/domains/domain1/lib)?Denis Signoretto2014-09-24T12:34:37Z6.2.1-ce