{"id":16,"date":"2007-05-18T15:24:51","date_gmt":"2007-05-18T20:24:51","guid":{"rendered":"https:\/\/sendai77.com\/blog\/?p=16"},"modified":"2007-05-18T15:24:51","modified_gmt":"2007-05-18T20:24:51","slug":"liferay-and-tomcat-part-3","status":"publish","type":"post","link":"https:\/\/sendai77.com\/blog\/liferay-and-tomcat-part-3\/","title":{"rendered":"Liferay and Tomcat &#8211; part 3"},"content":{"rendered":"<p>But wait &#8211; there&#8217;s more!<\/p>\n<p>So, I crank up my newly-running Liferay &#8211; running in its happy little webapp world, not as the root context, and some funny things are going on.<\/p>\n<p>First: The root context that should be there isn&#8217;t there. Instead of the warm, fuzzy Tomcat page with the geeky kittycat graphic, I get a blank page. Hmm.<\/p>\n<p>Second: When I load the Liferay portal, I only get two portlets: &#8220;Sign In&#8221; and &#8220;Hello, World&#8221;.<\/p>\n<p>So, I do some poking around as a user. My Tomcat manager webapp comes up OK, so that tells me that other webapps that I choose to install will probably work OK. (Note to self: something to consider trying.)<\/p>\n<p>Next, I log in as test:test on the portal. Well, now, this is cool. I get more portlets. I decide to add an Admin page. I add adminny portlets to it. I decide to add a user. I find a way to add somebody, fill out their info, hit submit&#8230;.<\/p>\n<p>&#8230; and boom. Stack trace.<\/p>\n<p>Here&#8217;s a little snippet of it:<\/p>\n<p><code><br \/>\nRoot cause:<\/p>\n<p>java.lang.NoClassDefFoundError: javax\/mail\/internet\/InternetAddress<\/p>\n<p><\/code><\/p>\n<p>I go home and sleep on this information. I also download a passel of Powerpoint presentations about installing and configuring Liferay. After reading a few of these, I decide to install the standalone version of Liferay, and play a little shell game of switching CATALINA_HOME environment variables.<\/p>\n<p>So&#8230;.<\/p>\n<p>I download and unpack liferay-portal-tomcat-jdk5-4.2.2, futz with my environment variables, and as is my usual habit, use <a href=\"http:\/\/www.cygwin.com\/\">Cygwin<\/a> to run CATALINA_HOME\/bin\/startup.sh. And ummm&#8230;.<\/p>\n<p>&#8230;.boom. She no go. I got a honking database error, having to do with the hsql database.<\/p>\n<p>So I try something unexpected for me, and follow the actual instructions and &#8211; in Windows &#8211; double-click on the &#8220;startup.bat&#8221; icon, and let a command shell bat file do the work. (This goes against my nature for a number of reasons I won&#8217;t get into here. Yet.) And ummmm&#8230;..<\/p>\n<p>Yay, she works! Which just gets me more curious. And look &#8211; I see all the marketing stuff I expected to see on my little installation as a standalone webapp. Hmmmm&#8230;..<\/p>\n<p>&#8230; I don&#8217;t see any portlets along the lines of &#8220;Hello, World&#8221;, but I do see a link where I can sign in. Who am I to argue? test:test, and life is good.<\/p>\n<p>Now, for some mystical reason, I try rejiggering the variables around (in order to write this post), and now the Cygwin startup.sh works. It didn&#8217;t when I tried it at home &#8211; I swear!<\/p>\n<p>Let&#8217;s add a user&#8230;. no problemo!<\/p>\n<p>Well, maybe I should leave well enough alone for now. I&#8217;ve got two instances running (although not simultaneously), both behaving differently, and the one I really torqued with is not behaving correctly.<\/p>\n<p>I&#8217;ll post again on this topic once I&#8217;ve actually written a portlet.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>But wait &#8211; there&#8217;s more! So, I crank up my newly-running Liferay &#8211; running in its happy little webapp world, not as the root context, and some funny things are going on. First: The root context that should be there &hellip; <a href=\"https:\/\/sendai77.com\/blog\/liferay-and-tomcat-part-3\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-16","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/sendai77.com\/blog\/wp-json\/wp\/v2\/posts\/16","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sendai77.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sendai77.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sendai77.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/sendai77.com\/blog\/wp-json\/wp\/v2\/comments?post=16"}],"version-history":[{"count":0,"href":"https:\/\/sendai77.com\/blog\/wp-json\/wp\/v2\/posts\/16\/revisions"}],"wp:attachment":[{"href":"https:\/\/sendai77.com\/blog\/wp-json\/wp\/v2\/media?parent=16"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sendai77.com\/blog\/wp-json\/wp\/v2\/categories?post=16"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sendai77.com\/blog\/wp-json\/wp\/v2\/tags?post=16"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}