maven 中的冲突库
Conflict library in maven
我有一个使用 Jhipste 3.4.2 创建的项目。添加库 JasperReport 6.2.2.
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports</artifactId>
<version>6.2.2</version>
</dependency>
项目启动失败。我发现这是库 lucene-core 的问题。 Elasticsearch 使用 4.10.4 和 JasperReport 4.5.1
因为你可以解决这个问题。
使用
sprint-boot-starter-data-elasticsearch
sprint-boot-starter-parent (1.3.5.RELEASE)
修改jasperreports的依赖项:
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports</artifactId>
<version>6.2.2</version>
<exclusions>
<exclusion>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-core</artifactId>
</exclusion>
</exclusions>
</dependency>
所以lucene-core
4.5.1不会被jasperreports绘制,你可以指定你要使用的版本
目前使用的是4.5.1版本,因为在依赖层级中它比4.10.4版本更接近你自己的pom:
这是通往 4.10.4 的漫长路径:sprint-boot-starter-data-elasticsearch --> spring-data-elasticsearch --> elasticsearch --> lucene-core
这是到 4.5.1 的捷径:jasperreports --> lucene-core
最后的答案是,在POM中添加如下代码。
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-core</artifactId>
<version>4.10.4</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-analyzers-common</artifactId>
<version>4.10.4</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-queryparser</artifactId>
<version>4.10.4</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports</artifactId>
<version>6.3.0</version>
<exclusions>
<exclusion>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-core</artifactId>
</exclusion>
</exclusions>
</dependency>
我有一个使用 Jhipste 3.4.2 创建的项目。添加库 JasperReport 6.2.2.
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports</artifactId>
<version>6.2.2</version>
</dependency>
项目启动失败。我发现这是库 lucene-core 的问题。 Elasticsearch 使用 4.10.4 和 JasperReport 4.5.1 因为你可以解决这个问题。
使用
sprint-boot-starter-data-elasticsearch
sprint-boot-starter-parent (1.3.5.RELEASE)
修改jasperreports的依赖项:
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports</artifactId>
<version>6.2.2</version>
<exclusions>
<exclusion>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-core</artifactId>
</exclusion>
</exclusions>
</dependency>
所以lucene-core
4.5.1不会被jasperreports绘制,你可以指定你要使用的版本
目前使用的是4.5.1版本,因为在依赖层级中它比4.10.4版本更接近你自己的pom:
这是通往 4.10.4 的漫长路径:sprint-boot-starter-data-elasticsearch --> spring-data-elasticsearch --> elasticsearch --> lucene-core
这是到 4.5.1 的捷径:jasperreports --> lucene-core
最后的答案是,在POM中添加如下代码。
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-core</artifactId>
<version>4.10.4</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-analyzers-common</artifactId>
<version>4.10.4</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-queryparser</artifactId>
<version>4.10.4</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports</artifactId>
<version>6.3.0</version>
<exclusions>
<exclusion>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-core</artifactId>
</exclusion>
</exclusions>
</dependency>