Message-ID: <1848207951.800182.1386852525519.JavaMail.firstname.lastname@example.org> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_800181_1916702415.1386852525519" ------=_Part_800181_1916702415.1386852525519 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/exported.html
The Java EE jars in the javax.* groups in the Maven Central repo= sitory are the ones provided by Sun. What if you want to use another vendor= 's specification and implementation jars?=20
Unfortunately, Maven doesn't understand "is an implementation of&qu= ot;. For example, if you declare a dependency on the MyFaces JSF implementa= tion, and you have a transitive dependency on Sun's JSF reference implement= ation, you will end up with both of them on your classpath because Maven ca= n't tell they are the same thing.=20
The same applies if you host an internal repository and want to use IBM'= s or BEA's Java EE implementations, which aren't available in the public re= pository.=20
The Servlet API jar is generally not a problem because it is almost alwa= ys declared with 'provided' scope, which takes it out of transitive depende= ncy resolution. Otherwise you might end up with one of Geronimo's Servlet 2.5 API jars<= /a>, as well as Sun's servlet-api-2.= 5.jar on your classpath.