More JEE6 Fun: See If You Can Make It Work!
Well Glassfish 3.1 is finally out. Didn't they say it was going to come out at JavaOne?? 5 months later.. So the whole thing that was coming in 3.1 that was super appealing was the embedded server, which, with Arquillian, was going to make it possible to do real integration testing finally (in Java‘s 16th year).
I installed Glassfish, then went to the site to find the eclipse update site URL, plugged that in, installed everything, and couldn‘t figure out if it was done. Earlier in the day, installing the TestNG plugin, something similar happened: it seemed to install it, but then I never got a confirmation or had it ask me if I wanted to restart. (The Update Manager has already invaded my dreams, so at this point, I start thinking ‘oh jesus, here we go again…‘).
The plugin has changed in this iteration. After install, you go to the Servers view and it shows the embedded Glassfish server. Then I went to create a project and filtered the archetypes on the Maven wizard page to Weld and was thrilled to see they had a new one. The new one, unlike the old family of 4, didn‘t have any annotations on it, so was not sure whether it was going to include JSF2 and JSP. When I finished, I looked around at the readme, etc. Looked good. Then the fun started.
First off, I was lucky that I had just wrestled with this issue on another project, but Glassfish did not recognize the project that was generated by the archetype. You have to go into the project properties and convert it to a faceted project, then turn on the dynamic web app stuff. Sure enough, GF saw it after that, but unfortunately, it still refused to deploy it.
Then it turned into the usual farce. A Java one? No, a typical computing one that unfortunately is still common 50 years into the revolution: first a spurious message, then a long thread of stupid config kludges. The bogus message was that Glassfish couldn‘t find any EJBs. Then in the server.log file, there were a bunch of messages about not being able to find logger classes. Generally, class not founds are easy. Ironically I had been reading some other threads earlier in the day about the stupid configuration of logging in Glassfish. (Logging is one of the 4 signs of the Java Apocalypse: 16 years, a JDK release, then a standard too, later, and it‘s a buggered up mess. Seriously, if you had the choice between working out the problems with Glassfish‘s logging wiring and applying for a building permit for a hillside lot in Malibu, you‘d be thinking ‘well, at least the coastal commission inspectors have to perform to keep their jobs.‘)
The thread is below. I thought ‘well there is a simple answer at least.‘ But adding those logger dependencies did not fix this for me. The app will still not deploy. There is a profile in the pom file that will run the Arquillian tests. Dying to see that. The project builds but the deploy doesn‘t work.
Ironically, Xcode 4 went final yesterday with iOS 4.3. I used to think I was just a whiney bitch because I was 15 years in a community where everyone else shamed people who complained about the fact that things didn't work. Then I tried the iOS stuff. Getting to the gotterdammerung phase. I am still rooting for Red Hat especially, and JEE6 is a very worthwhile release, but come on. Put a clock on something. JSF 2 took what, 5 years?
I have blogged before that the problem is that the illusion of promoting choice has produced a cabal of fascists. What choices do we have here?? All I‘m trying to do is take Weld (CDI RI from RH) and deploy it on the Sun app server?? If that can‘t work out of the box with an example, this ‘platform‘ is a doomed illusion.
(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)