Java 如何使用Maven添加项目及其依赖项?
我有一个项目(a)使用我的团队和我开发的I类库(B) 类库(B)导入searchbox-io.Jest项目以访问我的ElasticSearch引擎并进行一些处理。项目(A)实现了用户界面的Restful服务 这是B的POM,类库:Java 如何使用Maven添加项目及其依赖项?,java,maven,elasticsearch-jest,Java,Maven,Elasticsearch Jest,我有一个项目(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" xs
<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>
<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>
4.0.0
br.org.b
b项目
0.1.11
罐子
src
maven编译器插件
3.3
org.kuali.maven.wagons
maven-s3-货车
1.2.1
io.searchbox
开玩笑
2.0.0
这是项目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>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>
<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>
4.0.0
机械人
机械人
0.0.1-快照
战争
src
maven编译器插件
3.3
maven战争插件
2.6
br.org.b
b项目
0.1.11
问题:
<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>
<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的引用
我的问题是,我必须使项目导入类库使用的相同引用,以便使用ElasticSearch的方法。如何解决此问题?如果两个项目都依赖于同一个包,则应在两个项目的依赖项中明确列出。不要依赖可传递依赖项
如果两个项目共享多个依赖项,您可以创建一个包含所有公共依赖项的“父”POM,而不是在每个POM上列出所有项目。您的帖子标题与帖子的问题无关。想对你的问题更精确一点吗?为什么不?我的问题是,我必须使项目导入与解决问题的类库BOk相同的引用。现在我必须实现父POM。我还将学习maven模块。