To give an update to the community and ask for your input...
The weld archetypes need to be updated. While weld and JSF work great,
some other Java EE 6 APIs are missing, like EJB 3.1 and Servlet 3.0.
Sun/Oracle has not yet published official javax.* jars for key APIs like
EJB 3.1, so we have to rely on jars from other vendors. For example,
JBoss has made their EJB 3.1 API jars available as
The goal of the Java EE half of weld archetypes (in contrast to the
servlet versions) has creeped a bit from being just for weld development
to being an archetype for Java EE 6.0 development. This is because it
is pretty difficult to do much useful work with Weld and JSF alone.
Most developers will need the full Java EE stack, including other APIs
such as JPA and EJB. We'd like to provide those APIs in the archetypes,
but the official javax.* API jars are either not available at all or not
published to Maven Central.
Therefore, the strategy going forward will be to use an official javax.*
jar either from Maven Central or from the JBoss repo if it's legally
allowed to be redistributed, but not yet on central. Otherwise, we'll
be using the org.jboss.spec.javax.* equivalent API jar.
The org.jboss.spec.javax.* jars work just fine on Glassfish and
presumably other containers, they're just published with the JBoss
We'll test the archetypes in JBoss AS 6 and Glassfish v3. If anyone
wants to help out with other containers, we'd be happy to work with you
on that as well.
Does anyone see any concerns with this approach?
The key question is if you're not using JBoss AS, will you be put off so
much by seeing a provided-scoped dependency of
org.jboss.spec.javax.ejb.jboss-ejb-api_3.1_spec-1.0.0.Beta1 that you'll
give up all hope on these archetypes, go somewhere else and blog nasty
things about all of us? :)