7.5. 关于 Maven 工件和协调


在 Maven 构建系统中,基本构建块是一个 工件。构建后,工件的输出通常是一个存档,如 JAR 或 WAR 文件。

Maven 的一个关键方面是能够定位工件并管理它们之间的依赖关系。Maven 协调 是标识特定工件位置的一组值。基本协调过程使用以下形式的三个值:

groupId:artifactId:version

有时,Maven 与一个 打包值或者一个打包 值和 分类器 值增加了基本的协调。Maven 协调可以具有以下格式之一:

groupId:artifactId:version
groupId:artifactId:packaging:version
groupId:artifactId:packaging:classifier:version
Copy to Clipboard

以下是值的描述:

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

工件的 POM 文件中的元素定义工件的组 ID、构件 ID、打包和版本,如下所示:

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

要定义上述构件的依赖项,您要将以下 依赖项元素添加到 POM 文件中:

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

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

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat