0

我有一个项目(A),它使用我和我的团队开发的 I 类库(B)。

类库 (B) 导入 searchbox-io.Jest 项目以访问我的 ElasticSearch 引擎并进行一些处理。项目 (A) 为用户界面实现了 Restful 服务。

这是 B 的 POM,类库:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>br.org.b</groupId>
    <artifactId>b-project</artifactId>
    <version>0.1.11</version>
    <packaging>jar</packaging> 
    <build>
        <sourceDirectory>src</sourceDirectory>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.3</version>              
            </plugin>
        </plugins>
        <extensions>
            <extension>
                <groupId>org.kuali.maven.wagons</groupId>
                <artifactId>maven-s3-wagon</artifactId>
                <version>1.2.1</version>
            </extension>
        </extensions>
    </build>
    <dependencies>      
        <dependency>
            <groupId>io.searchbox</groupId>
            <artifactId>jest</artifactId>
            <version>2.0.0</version>
        </dependency>       
    </dependencies> 
</project>

这是项目 A 的 POM:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>MachineAPI</groupId>
    <artifactId>MachineAPI</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>war</packaging>
    <build>
        <sourceDirectory>src</sourceDirectory>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.3</version>
            </plugin>
            <plugin>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.6</version>
            </plugin>
        </plugins>
    </build>
    <dependencies>
        <dependency>
            <groupId>br.org.b</groupId>
            <artifactId>b-project</artifactId>
            <version>0.1.11</version>           
        </dependency>
    </dependencies>
</project>

问题:

但是,当我尝试执行项目 A 时,它没有找到对 searchbox-io.Jest 的引用。

我的问题是我必须让项目 A 导入类库使用的相同引用,所以我可以使用 ElasticSearch 的方法。我该如何解决?

4

1 回答 1

0

如果两个项目都依赖于同一个包,则应该在两个项目依赖项中明确列出。不要指望传递依赖。

如果两个项目共享多个依赖项,而不是在每个 POM 上列出所有依赖项,您可以创建一个具有所有公共依赖项的“父”POM 并将其设为两个项目的父 POM。

于 2016-03-17T18:37:32.500 回答