[
https://issues.jboss.org/browse/WFLY-7266?page=com.atlassian.jira.plugin....
]
kostd kostd commented on WFLY-7266:
-----------------------------------
{quote}
I don't see why do you depend upon
<artifactId>wildfly-spec-api</artifactId> ? as that makes no real sense as all
same deps you get as part of bom and more.
{quote}
Yes, this happened historically. If I'm not mistaken, in older Wildfly (or
jboss-as-7) was not bom, but spec-api already existed. This rudimentary survived throu
migrations on new wildflys
BOM wildfly-javaee7-with-tools mismanages some dependencies
-----------------------------------------------------------
Key: WFLY-7266
URL:
https://issues.jboss.org/browse/WFLY-7266
Project: WildFly
Issue Type: Bug
Affects Versions: 10.1.0.Final
Environment: org.wildfly.bom:wildfly-javaee7-with-tools:10.1.0.Final
org.wildfly:wildfly-spec-api:10.1.0.Final
Reporter: kostd kostd
Assignee: Tomaz Cerar
Priority: Optional
Attachments: pom.xml
Earlier was created WFLY-6621 wildfly-spec-api:10.0.0.Final mismanages el-api, jsf-api
Problem still exists in 10.1.0.Final. At this time I understood problem more clearly,
so:
1. I have a dummy project with deps:
{code:title:bom and spec}
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.wildfly.bom</groupId>
<artifactId>wildfly-javaee7-with-tools</artifactId>
<version>10.1.0.Final</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.wildfly</groupId>
<artifactId>wildfly-spec-api</artifactId>
<version>10.1.0.Final</version>
<type>pom</type>
<scope>provided</scope>
</dependency>
</dependencies>
{code}
Maven dependency tree for my project shows that it depends on el-api and jsf-api older
than contained in wildfly-dist:10.1.0.Final`s modules:
{code:title=mvn dependency:tree fragment}
[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ test-maven-project ---
[INFO] ru.argustelecom.argus:test-maven-project:ejb:333
[INFO] \- org.wildfly:wildfly-spec-api:pom:10.1.0.Final:provided
[INFO] +- org.glassfish:javax.json:jar:1.0.3:provided
[INFO] +-
org.jboss.spec.javax.ws.rs:jboss-jaxrs-api_2.0_spec:jar:1.0.0.Final:provided
[INFO] +-
org.jboss.spec.javax.batch:jboss-batch-api_1.0_spec:jar:1.0.0.Final:provided
[INFO] | \- javax.inject:javax.inject:jar:1:provided
[INFO] +- org.jboss.spec.javax.ejb:jboss-ejb-api_3.2_spec:jar:1.0.0.Final:provided
[INFO] +- org.jboss.spec.javax.el:jboss-el-api_3.0_spec:jar:1.0.4.Final:provided
[INFO] +-
org.jboss.spec.javax.enterprise.concurrent:jboss-concurrency-api_1.0_spec:jar:1.0.0.Final:provided
[INFO] +- org.jboss.spec.javax.faces:jboss-jsf-api_2.2_spec:jar:2.2.11:provided
[INFO] +-
org.jboss.spec.javax.interceptor:jboss-interceptors-api_1.2_spec:jar:1.0.0.Final:provided
[INFO] +- org.jboss.spec.javax.jms:jboss-jms-api_2.0_spec:jar:1.0.0.Final:provided
[INFO] +-
org.jboss.spec.javax.resource:jboss-connector-api_1.7_spec:jar:1.0.0.Final:provided
[INFO] +-
org.jboss.spec.javax.security.auth.message:jboss-jaspi-api_1.1_spec:jar:1.0.0.Final:provided
[INFO] +-
org.jboss.spec.javax.security.jacc:jboss-jacc-api_1.5_spec:jar:1.0.0.Final:provided
[INFO] +-
org.jboss.spec.javax.servlet:jboss-servlet-api_3.1_spec:jar:1.0.0.Final:provided
[INFO] +-
org.jboss.spec.javax.servlet.jsp:jboss-jsp-api_2.3_spec:jar:1.0.1.Final:provided
[INFO] +-
org.jboss.spec.javax.servlet.jstl:jboss-jstl-api_1.2_spec:jar:1.1.2.Final:provided
[INFO] +-
org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec:jar:1.0.0.Final:provided
[INFO] +-
org.jboss.spec.javax.websocket:jboss-websocket-api_1.1_spec:jar:1.1.0.Final:provided
[INFO] +-
org.jboss.spec.javax.xml.bind:jboss-jaxb-api_2.2_spec:jar:1.0.4.Final:provided
[INFO] +-
org.jboss.spec.javax.xml.rpc:jboss-jaxrpc-api_1.1_spec:jar:1.0.1.Final:provided
[INFO] +-
org.jboss.spec.javax.xml.soap:jboss-saaj-api_1.3_spec:jar:1.0.3.Final:provided
[INFO] +-
org.jboss.spec.javax.xml.ws:jboss-jaxws-api_2.2_spec:jar:2.0.2.Final:provided
[INFO] +-
org.hibernate.javax.persistence:hibernate-jpa-2.1-api:jar:1.0.0.Final:provided
[INFO] +- javax.enterprise:cdi-api:jar:1.2:provided
[INFO] +- com.sun.mail:javax.mail:jar:1.5.3:provided
[INFO] | \- javax.activation:activation:jar:1.1.1:provided
[INFO] +-
org.jboss.spec.javax.annotation:jboss-annotations-api_1.2_spec:jar:1.0.0.Final:provided
[INFO] +- javax.validation:validation-api:jar:1.1.0.Final:provided
[INFO] +-
org.jboss.spec.javax.management.j2ee:jboss-j2eemgmt-api_1.1_spec:jar:1.0.1.Final:provided
[INFO] \- org.wildfly.checkstyle:wildfly-checkstyle-config:jar:1.0.4.Final:provided
{code}
el-api and jsf-api must have 1.0.7.Final and 2.2.13 versions respectively
2. This is because wildly-javaee7-with-tools inherits from wildfly-javaee7 which imports
org.jboss.spec:jboss-javaee-7.0:1.0.3.Final who depends on too old el-api and jsf-api:
{code:title=wildfly-javaee7 pom fragment}
..
<version.org.jboss.spec.jboss.javaee.7>1.0.3.Final</version.org.jboss.spec.jboss.javaee.7>
...
<!-- BOM imports -->
<!-- JBoss distributes a complete set of Java EE 7 APIs including
a Bill of Materials (BOM). A BOM specifies the versions of a
"stack" (or
a collection) of artifacts. We use this here so that we always get the
correct
versions of artifacts. Here we use the jboss-javaee-7.0 stack (you can
read
this as the JBoss stack of the Java EE full Profile 7 APIs). You can
actually use
this stack with any version of WildFly that implements Java EE 7! -->
<dependency>
<groupId>org.jboss.spec</groupId>
<artifactId>jboss-javaee-7.0</artifactId>
<version>${version.org.jboss.spec.jboss.javaee.7}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
{code}
{code:title=jboss-javaee-7.0 pom fragment}
...
<version.org.jboss.spec.javax.el>1.0.4.Final</version.org.jboss.spec.javax.el>
...
<version.org.jboss.spec.javax.faces>2.2.11</version.org.jboss.spec.javax.faces>
...
<dependency>
<groupId>org.jboss.spec.javax.el</groupId>
<artifactId>jboss-el-api_3.0_spec</artifactId>
<version>${version.org.jboss.spec.javax.el}</version>
</dependency>
...
<dependency>
<groupId>org.jboss.spec.javax.faces</groupId>
<artifactId>jboss-jsf-api_2.2_spec</artifactId>
<version>${version.org.jboss.spec.javax.faces}</version>
</dependency>
{code}
3. Also can see some other dependencies (not only el-api and jsf-api), which version
doubtful:
org.jboss.spec.javax.servlet.jstl:jboss-jstl-api_1.2_spec:jar:1.1.2.Final (must be
1.1.3.Final)
org.jboss.spec.javax.websocket:jboss-websocket-api_1.1_spec:jar:1.1.0.Final (must be
1.1.1.Final)
org.jboss.spec.javax.xml.ws:jboss-jaxws-api_2.2_spec:jar:2.0.2.Final (must be
2.0.3.Final)
com.sun.mail:javax.mail:jar:1.5.3 (must be 1.5.5)
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)