[weld-dev] (org.jboss.spec.javax.* vs javax.*? ) Re: Maven Archetype Bill of Materials - How should we handle minor variations in point releases of Java EE 6 containers?
Steven Boscarine
steven.boscarine at childrens.harvard.edu
Tue Apr 20 12:20:25 EDT 2010
On 04/20/2010 06:14 AM, Pete Muir wrote:
> It's not the same JAR, but it is the same API (subtly different ;-)
>
The contents are the same, correct? There is no JBoss-specific magic in
an org.jboss.spec.javax.* jar, right? The classes and interfaces are
otherwise identical, right?
>
>> On one hand, I prefer the javax.* because it is more conventional and in my opinion, more polished looking, especially for people who choose to run weld or Java EE outside of a JBoss container.
>>
> Agreed. However even if we decided to maintain a BOM for this, we couldn't have it 100% using javax. as some specs in EE6 are missing published Maven artifacts. So, the question becomes whether it is worth doing a split one?
>
Fully understood. Sun/Oracle hasn't been good about pushing their APIs
to maven central. It's been frustrating me and every other maven user
for many years now.
Is JBoss willing to push the missing javax.* jars to their nexus repo
using the javax.* namespace?
If so, wouldn't that fix the problem? The developers will be pulling
from repository.jboss.org instead of maven central until Sun gets their
act together & pushes their jars to central, but it should be pretty
painless, right? Hopefully, down the road, Sun/Oracle will post their
jars to central and the projects will stop pulling basic things like
javax.servlet from the JBoss repo (3.0 is still not in central, for
example).
For me, the motivation of using javax.* namespaced jars is that
everything would be self explanatory. Presumably most serious
developers are smart enough to figure out why JBoss has to maintain
tight control over their dependencies, especially the ones shipped with
their product. However, many of us have our work audited and might not
have an easy time explaining it to everyone we answer to, especially if
our weld project isn't deployed to a JBoss AS instance.
>> I imagine this is relatively important for the AS team as I am guessing a non-trivial number of errors in the wild occur due to library version mismatches. Perhaps maintaining a good set of archetypes that match your container precisely will either reduce these or at least give the developers less of an excuse for these errors?
>>
>> What options are available?
>> Shelly, are you willing to allow both the javax.* and the org.jboss.spec.javax.* entries in the BOM?
>>
> Personally, I don't think this is a good idea. It would be better to maintain a separate BOM for the javax. ones.
>
>
I am personally happy with whatever approach JBoss thinks is best. I
proposed that one because I thought it would be easier for them to
update it and they'd be less likely to forget the javax.* BOM. We could
have the javax.* BOM extend the org.jboss.spec.javax.* BOM so users
could easily use either the org.jboss.spec.javax* dependency or the
javax.* dependency for individual API jars.
More information about the weld-dev
mailing list