Quoting the spec is somewhat comical...thank god we aren't talking Java ME...
Try deploying your Glassfish EAR on JBoss and see how far you get. JBoss doesn't support Java EE 5 packaging though it does support EJB3 jars. Let's not get into Websphere's lack of compliance. Your speaking idealogically, not reality. The spec isn't BIBLE and there is INTENTIONALLY a lot of room for interpretation in several areas including packaging (Classpath and scope come to mind can get really nasty). There is also the issue of how compliant an appserver really is. For instance, RIGHT NOW, JBoss supports EJB3 but doesn't support the latest servlet spec or Java EE 5 packing rules (I believe scheduled for JBoss 5.x). In fact, I believe a lot of the EJB3 style plugin questions are coming from folks who aren't sure whether to use the EJB plugin or the JAR one (I use the JAR one since in effect that's all that's really needed) because depending on the platform, the packaging maybe slightly different (some even remember the infamous PAR that was in a draft for the peristence stuff). So in a nutshell, for my platform, Jboss is a hybrid Java EE 1.4/5 platform which transcends THE SPEC. Also, there are always extra files needed to make things ACTUALLY work on the platform that is outside the spec as well as platform quirks that need to be taken into account (what's APP-INF/lib unless your on WebLogic again?). Now back on topic (Maven2!) and my original point, it would be nice if the EAR plugin could generate platform specific files on the fly (jboss-web.xmlfor example) or augment the packaging to fit the platform somewhat (for jboss, if I have a lib directory and I'm on JBoss 4.x, it doesn't support the Java EE 5 lib concept and as such you need to put these libraries in the Class-Path manifest entries a la 1.4 of each EJB JAR associated with the EAR to put them on the class-path - I'm not sure how to do that automatically with Maven2, btw maybe there is a way and I haven't found it yet, still learning Maven2 - oh the EAR deployer on JBoss also doesn't support the Extension mechanism defined by the spec as well, so even when a platform does follow the spec, its only up to a certain point). Architecturally speaking, the platform version could dictate the EAR plugin level of compliance, so if I'm using Maven2 EAR plugin on Glassfish it knows to package things according to Java EE 5 but if I'm on JBoss 3.x, go with 1.4 conventions etc. All I'm saying is that packaging for production is more bound by the PLATFORM the EAR is deployed on then the general SPEC level of compliance (which again, is merely a minimal set of requirements ( e.g. descriptors and their XML schema) to be compliant that can be implemented several different ways). Cheers! -aps On 9/19/06, Markus KARG <[EMAIL PROTECTED]> wrote:
Wrong, once more. ;-) The J2EE 1.4 specification contains a mandatory part namely JSR 88 "J2EE Deployment", which clearly says that all deployment is standard now and there should be no vendor specific packaging. In fact, packaging is specified there is very detail. A J2EE server that wants to use the J2EE logo must not depend on vendor specific packaging. Least people have read JSR 88 and do not know about that. I published an article series in German "Java Magazin" about that in 2004, and I contributed to JOnAS' JSR 88 driver, also started my own JSR 88 installation wizard project on SourceForge, so believe I know what I am talking about. ;-)) So actually today there is no need for vendor specific packaging, since all vendors support those "clean" packages. If not, it is a bug and should get reported. In turn, vendor specifics in the EAR and EJB modules are obsolete. Markus Alexander Sack schrieb: > Yes I realize that....just restating the obvious workaround... > > Btw, I really think the EAR plugin and even the EJB one should have > platform specific options if possible (packaging for Glassfish is much > different than JBoss as an example). > > -aps > > On 9/18/06, *Markus KARG* <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> wrote: > > Actually we ARE adding them manually but this thread is about how > we can > make MVN to do that automatically... > Nevertheless, I filed an issue with JIRA in the hope of getting it > fixed > in the next plugin release. > > Thanks > Markus > > Alexander Sack schrieb: > > > Thanks guys....weird, I guess I've never ran into these types of > JARs > > before. With that said, it seems you could add them using the > EAR plugin > > but manually. > > > > -aps > > > > On 9/15/06, Markku Saarela <[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]>> wrote: > > > >> > >> Actually application-client is part of J2EE specification. See > section > >> of Application clients J2EE 1.4 spec section 9.7 J2EE > Application Client > >> XML Schema. > >> > >> Ant has targets that can create these Application client artifacts. > >> > >> I also favor for building application client jar for Swing > applications > >> with Maven2. > >> > >> Regards, > >> > >> Markku > >> > >> Alexander Sack wrote: > >> > I'm pretty sure the "J2EE client application descriptor" you > speak of > >> > is a > >> > BEA only primitive and not generic enough to be included in > the EAR > >> > plugin > >> > (please correct me if I'm wrong, I don't remember ever seeing > this in > >> the > >> > J2EE spec). > >> > > >> > With that said a light bult has sort of went off and perhaps > the EAR > >> > plugin > >> > should have a PLATFORM identifier that can fine tune the > packaging > >> > based on > >> > Java EE app server. As anyone who has worked with more than > one app > >> > server > >> > knows, the spec has A LOT of room for interpretation and some > >> > platforms just > >> > aren't compliant (either they choose to be or are catching up). > >> > > >> > Good idea, bad idea? > >> > > >> > -aps > >> > > >> > On 9/15/06, Wayne Fay < [EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]>> wrote: > >> >> > >> >> If the current release of the EAR plugin does not support the > >> >> functionality you desire, you have a few options: > >> >> > >> >> 1. Complain about missing functionality on the Maven User list. > >> >> 2. File a JIRA Enhancement report and hope someone looks at your > >> issue > >> >> and decides it is worth spending some time to implement for > you. > >> >> 3. Write the code yourself, then file a JIRA with your changes > >> >> attached and wait for it to be incorporated into the > released code > >> >> which will take some time to actually land in a non-snapshot > repo > >> >> (several weeks at a minimum). > >> >> > >> >> Pick one from above and do it. In the mean time, if you want > >> things to > >> >> work, you will need to be practical about things -- simply > add the > >> >> entry into the application.xml (or whatever file, I'm not > familiar > >> >> with J2EE Client Apps) manually or in the pom.xml and move > on with > >> >> life. > >> >> > >> >> Wayne > >> >> > >> >> On 9/15/06, Markus KARG <[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]>> wrote: > >> >> > No I do not mean ejb-client but "J2EE Client Application": > >> >> > What you mean is a JAR containing the interfaces of the > EJBs, but > >> >> what I > >> >> > mean is a standalone ("Swing") application that is to be > run inside > >> >> of a > >> >> > "J2EE Client Container". > >> >> > > >> >> > I have seen that EJB-JARs are enlistet in the EAR's > application.xml > >> >> > automatically, and we want this to happen with the "J2EE > Client > >> >> > Application" also, without adding it to the EAR's pom.xml > manually. > >> >> This > >> >> > should be possible since a "J2EE Client Application" always > >> contains > >> a > >> >> > file named META-INF\client-application-xml, so the EAR > task just > >> >> need to > >> >> > look into the JAR to find out about its type. I do not > >> understand why > >> >> > this has to be specified manually. > >> >> > > >> >> > Thanks > >> >> > Markus > >> >> > > >> >> > Stephane Nicoll schrieb: > >> >> > > >> >> > > you mean ejb-client? Your dependency should be > 'ejb-client' not > >> >> 'jar'. > >> >> > > > >> >> > > Anyhow, if you want a jar to be included in the > application.xml, > >> >> just > >> >> > > configure the plugin acccordingly > (includeInApplicationXml) [1] > >> >> > > > >> >> > > Cheers, > >> >> > > Stéphane > >> >> > > > >> >> > > [1] > http://maven.apache.org/plugins/maven-ear-plugin/howto.html > >> >> > > > >> >> > > On 9/15/06, Markus KARG <[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]>> wrote: > >> >> > > > >> >> > >> I am using the EAR packaging to let Mvn2 create an .ear > file > >> plus > >> >> > >> automatically create an application.xml inside of it. > >> >> > >> It detects all my EJB modules, but it doesn't detect > that one of > >> >> the > >> >> > >> included JARs is not a utility JAR but in fact a "J2EE > Client > >> >> > >> Application JAR". > >> >> > >> Maybe the packaging type I have used for that JAR is > wrong (I > >> used > >> >> JAR > >> >> > >> since I thought the EAR packager will detect the contained > >> >> > >> client-application.xml file). > >> >> > >> So what is the correct way to specify "J2EE Client > Application > >> JAR" > >> >> > >> packaging instead of simple utility "JAR" packaging? > >> >> > >> > >> >> > >> Thanks a lot! > >> >> > >> Markus > >> >> > >> > >> >> > >> > >> >> > >> > >> >> > > > >> >> > > > >> >> > > >> >> > > >> >> > > >> >> > >> >> > --------------------------------------------------------------------- > >> >> To unsubscribe, e-mail: [EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]> > >> >> For additional commands, e-mail: [EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]> > >> >> > >> >> > >> > > >> > > >> > >> > >> > --------------------------------------------------------------------- > >> To unsubscribe, e-mail: [EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]> > >> For additional commands, e-mail: [EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]> > >> > >> > > > > > > > > > > > -- > "What lies behind us and what lies in front of us is of little concern > to what lies within us." -Ralph Waldo Emerson
-- "What lies behind us and what lies in front of us is of little concern to what lies within us." -Ralph Waldo Emerson