您是否读过有关'的文件?http://maven.apache.org/guides/introduction/introduction/introduction-to-dependency-mechanis.html' rel=“nofollow”>>Maven ?如果您有使用Maven来定义您的项目,那么您不必做任何特殊工作才能使依赖性发挥作用。
对于您的需求,您有两个选择: 创建两个独立的项目, 其中一个项目依赖于另一个 OR, 您可以创建一个多模块项目, 其中一个模块仍然依赖于另一个模块 。
<强 > 两个单独的项目 强 >
.
|-- A
| `-- pom.xml
| `-- src
| `-- main
| `-- java
`-- B
`-- pom.xml
`-- src
`-- main
`-- java
A/pom.xml
<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>com.company</groupId>
<artifactId>A</artifactId>
<version>1.0-SNAPSHOT</version>
</project>
B/pom.xml
<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>com.company</groupId>
<artifactId>B</artifactId>
<version>2.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>com.company</groupId>
<artifactId>A</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
</project>
就是这样,你对B中的A型项目/模块有依赖性
您首先通过发行 mvn 安装
(并存于目录A) 来构建工程 A。 文物将安装在您的本地副本中( 并可供其他工程使用 ) 。
然后您通过发行 mvn 安装
(并在目录B中) 来构建工程 B。 文物将安装在您的本地副本中 。
< 强度 > 带有子模块 < /强 > 的父项目
.
|-- A
| `-- pom.xml
| `-- src
| `-- main
| `-- java
`-- B
| `-- pom.xml
| `-- src
| `-- main
| `-- java
`-- pom.xml
pom.xml
<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>com.company</groupId>
<artifactId>parent</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<modules>
<module>A</module>
<module>B</module>
</modules>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.company</groupId>
<artifactId>A</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
</project>
是用来帮助子模块选择正确版本的 。
A/pom.xml
<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>
<parent>
<groupId>com.company</groupId>
<artifactId>parent</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<groupId>com.company</groupId>
<artifactId>A</artifactId>
</project>
B/pom.xml
<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>
<parent>
<groupId>com.company</groupId>
<artifactId>parent</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<groupId>com.company</groupId>
<artifactId>B</artifactId>
<dependencies>
<dependency>
<groupId>com.company</groupId>
<artifactId>A</artifactId>
</dependency>
</dependencies>
</project>
有了这个解决方案, 您只需在父文件夹中定位自己, 并运行 < code> mvn 安装 < / code > (或 < code> mvn 软件包 code > 或类似) 。 现在您将按照正确的顺序构建 A 和 B, 整个工程可以导入到 Eclipse 中 。