A.5. Maven 协调


Maven 功能的一个关键方面是能够找到工件和管理它们之间的依赖关系。Maven 使用 Maven 协调 的系统定义工件的位置,它唯一定义特定工件的位置。一个基本的协调元组具有表单 {groupId,artifactId,version}。有时,Maven 会增加基本协调集与额外的协调、打包和 分类器。可以使用基本协调或额外的 打包 协调编写元组,或者添加 打包和 分类器 协调,如下所示:

groupdId:artifactId:version
groupdId:artifactId:packaging:version
groupdId:artifactId:packaging:classifier:version
Copy to Clipboard Toggle word wrap

每个协调都可以解释,如下所示:

groupdId
定义工件名称的范围。您通常使用所有或部分软件包名称作为组 ID iwl-8:0:1:: 例如 org.fusesource.example
artifactId
定义工件名称(相对于组 ID)。
version
指定工件的版本。版本号最多可有四个部分: n.n.n.n,其中版本号的最后一部分可以包含非数字字符(例如 1.0-SNAPSHOT 的最后一部分是字母数字,0-SNAPSHOT)。
打包
定义构建项目时生成的打包实体。对于 OSGi 项目,打包是 捆绑包。默认值为 jar
classifier
可让您区分从同一 POM 构建但具有不同内容的工件。

组 ID、工件 ID、打包和版本由工件的 POM 文件中的对应元素定义。例如:

<project ... >
  ...
  <groupId>org.fusesource.example</groupId>
  <artifactId>bundle-demo</artifactId>
  <packaging>bundle</packaging>
  <version>1.0-SNAPSHOT</version>
  ...
</project>
Copy to Clipboard Toggle word wrap

例如,要定义对上述工件的依赖项,您可以在 POM 中添加以下 dependencies 元素:

<project ... >
  ...
  <dependencies>
    <dependency>
      <groupId>org.fusesource.example</groupId>
      <artifactId>bundle-demo</artifactId>
      <version>1.0-SNAPSHOT</version>
    </dependency>
  </dependencies>
  ...
</project>
Copy to Clipboard Toggle word wrap
注意

不需要在 前面的依赖项中指定 bundle 软件包类型,因为捆绑包只是特定类型的 JAR 文件,jar 是默认的 Maven 软件包类型。但是,如果您需要在依赖项中明确指定打包类型,您可以使用 type 元素。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat