Uploaded image for project: 'WildFly'
  1. WildFly
  2. WFLY-7266

BOM wildfly-javaee7-with-tools mismanages some dependencies

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Optional Optional
    • No Release
    • 10.1.0.Final
    • None
    • None
    • Hide

      must manage this dependencies in project itself:

      project dependencyManagement section fragment
      			<!-- org.wildfly:wildfly-spec-api:pom:10.0.0.Final (WFLY-6621) -->
      			<dependency>
      				<groupId>org.jboss.spec.javax.faces</groupId>
      				<artifactId>jboss-jsf-api_2.2_spec</artifactId>
      				<version>${version.jsf-api}</version><!--$NO-MVN-MAN-VER$-->
      			</dependency>
      			<!-- org.wildfly:wildfly-spec-api:pom:10.0.0.Final (WFLY-6621) -->
      			<dependency>
      				<groupId>org.jboss.spec.javax.el</groupId>
      				<artifactId>jboss-el-api_3.0_spec</artifactId>
      				<version>${version.el-api}</version><!--$NO-MVN-MAN-VER$-->
      			</dependency>
      
      
      Show
      must manage this dependencies in project itself: project dependencyManagement section fragment <!-- org.wildfly:wildfly-spec-api:pom:10.0.0.Final (WFLY-6621) --> <dependency> <groupId>org.jboss.spec.javax.faces</groupId> <artifactId>jboss-jsf-api_2.2_spec</artifactId> <version>${version.jsf-api}</version><!--$NO-MVN-MAN-VER$--> </dependency> <!-- org.wildfly:wildfly-spec-api:pom:10.0.0.Final (WFLY-6621) --> <dependency> <groupId>org.jboss.spec.javax.el</groupId> <artifactId>jboss-el-api_3.0_spec</artifactId> <version>${version.el-api}</version><!--$NO-MVN-MAN-VER$--> </dependency>

      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:

      Unable to find source-code formatter for language: title:bom and spec. Available languages are: actionscript, ada, applescript, bash, c, c#, c++, cpp, css, erlang, go, groovy, haskell, html, java, javascript, js, json, lua, none, nyan, objc, perl, php, python, r, rainbow, ruby, scala, sh, sql, swift, visualbasic, xml, yaml
      <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>
      
      

      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:

      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
      
      

      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:

      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>
      
      
      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>
      
      

      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)

              tomazcerar Tomaž Cerar (Inactive)
              kostd kostd kostd (Inactive)
              Tomaž Cerar (Inactive), Vsevolod Golovanov (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated:
                Resolved: