Java Maven transitive通过其在依赖项管理中提供的范围具有编译范围

Java Maven transitive通过其在依赖项管理中提供的范围具有编译范围,java,maven-3,dependency-management,Java,Maven 3,Dependency Management,这就是我的应用程序POM的外观,它使用了一个构建在spring之上的自定义框架myframework。由于它在websphere上运行,并且核心库在运行时作为共享库可用,所以我只想将web库打包到WAR中。虽然我使用提供的范围定义了共享库依赖项,并添加了包含在提供的范围中定义的所有核心库的共享库BOM表。作为核心库slf4j的一部分的一个可传递依赖项进入了编译范围,它被打包在war中,我不希望发生这种情况。有许多像这样的核心依赖项正在进入编译范围。为什么会这样 基于这篇文章 我的核心库应该在提供

这就是我的应用程序POM的外观,它使用了一个构建在spring之上的自定义框架myframework。由于它在websphere上运行,并且核心库在运行时作为共享库可用,所以我只想将web库打包到WAR中。虽然我使用提供的范围定义了共享库依赖项,并添加了包含在提供的范围中定义的所有核心库的共享库BOM表。作为核心库slf4j的一部分的一个可传递依赖项进入了编译范围,它被打包在war中,我不希望发生这种情况。有许多像这样的核心依赖项正在进入编译范围。为什么会这样

基于这篇文章 我的核心库应该在提供的范围内,因为我已经导入了一个BOM表,它在提供的范围内定义了所有这些核心库,但这并没有发生。我还提供了下面的maven依赖树。请给我一些建议

注意:我参与了框架的开发,我不想直接将DependencyManager部分中的所有核心jar都包含在应用程序中提供的范围内,因为有很多库,我不想让每个使用此框架的开发人员都知道所有的核心jar,并将它们包含在dependencymanagement部分,而不是希望它们使用BOM/POM

    <dependencyManagement>
       <dependencies>
        <dependency>
            <groupId>com.myframework</groupId>
            <artifactId>myframework-shared-libs-bom</artifactId>
            <version>${library.version}</version>
            <scope>import</scope>
        </dependency>
      </dependencies>
    </dependencyManagement>

  <dependencies>
    <dependency>
          <groupId>com.myframework</groupId>
          <artifactId>myframework-shared-libs</artifactId>
          <version>${library.version}</version>
          <type>pom</type>
          <scope>provided</scope>
        </dependency>

        <dependency>
          <groupId>com.myframework</groupId>
          <artifactId>myframework-web-libs</artifactId>
          <version>${library.version}</version>
          <type>pom</type>
        </dependency>
  </dependencies>
+- com.myframework:myframework-shared-libs:pom:4.0.0-SNAPSHOT:provided
|  \- org.slf4j:jcl-over-slf4j:jar:1.7.6:provided
\- com.myframework:myframework-web-libs:pom:4.0.0-SNAPSHOT:compile
   \- com.myframework:myframework-web:jar:4.0.0-SNAPSHOT:compile
      \- com.myframework:myframework-core:jar:4.0.0-SNAPSHOT:compile
         \- org.slf4j:slf4j-api:jar:1.7.21:compile