maven中的冲突库

时间:2016-07-06 07:12:42

标签: maven elasticsearch jhipster

我有一个用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 你可以解决这个问题。

使用

冲刺引导起动数据-elasticsearch

sprint-boot-starter-parent(1.3.5.RELEASE)

enter image description here

2 个答案:

答案 0 :(得分:2)

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

因此jasperreports不会绘制lucene-core 4.5.1,您可以指定要使用的版本。

到目前为止,使用版本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

答案 1 :(得分:2)

最后的答案是,将以下代码添加到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>