我正在使用以下配置。
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.14</version>
</dependency>
在 poi-ooxml-3.14.pom 中,我可以看到依赖的 poi 版本是 3.14 。
<dependencies>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.14</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml-schemas</artifactId>
<version>3.14</version>
</dependency>
</dependencies>
但是在依赖关系树的输出中。 poi 3.10.1 已下载,怎么会发生?这有什么规则?谢谢。
以下(mvn依赖关系:树)是唯一包含3.10.1的地方。
[INFO] +- org.apache.poi:poi-ooxml:jar:3.14:compile
[INFO] | +- org.apache.poi:poi:jar:3.10.1:compile
[INFO] | +- org.apache.poi:poi-ooxml-schemas:jar:3.14:compile
[INFO] | \- com.github.virtuald:curvesapi:jar:1.03:compile
答案 0 :(得分:0)
由于org.apache.poi,您将获得 poi 3.10.1 -poi-ooxml-schemas可传递依赖项,它会覆盖您的实际依赖项声明。 您应该尝试在pom.xml中的以下条目输入,以避免不必要的 poi
版本 <dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.14</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml-schemas</artifactId>
<version>3.14</version>
<exclusions>
<exclusion> <!-- declare the exclusion here -->
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
</exclusion>
</exclusions>
</dependency>