5.2. 查看 Maven 项目结构


The /path/to/output/mavenized/<APPLICATION_NAME>/ 目录包括以下内容:

  • root POM 文件。这是顶层目录中的 pom.xml 文件。
  • A BOM 文件。这是以 -bom 结尾的目录中的 POM 文件。
  • 一个或多个应用程序 POM 文件。每个模块的 POM 文件在以存档命名的目录中。

示例 jee-example-app-1.0.0.ear 应用是包含 WAR 和多个 JAR 的 EAR 存档。每个工件都创建一个单独的目录。以下是为此应用程序创建的 Maven 项目结构。

Copy to Clipboard Toggle word wrap
/path/to/output/mavenized/jee-example-app/
    jee-example-app-bom/pom.xml
    jee-example-app-ear/pom.xml
    jee-example-services2-jar/pom.xml
    jee-example-services-jar/pom.xml
    jee-example-web-war/pom.xml
    pom.xml

检查每个生成的文件,并根据您的项目自定义。要了解更多有关 Maven POM 文件的信息,请参阅 Apache Maven 文档中的 POM 部分介绍。

root POM 文件

jee-example-app-1.0.0.ear 应用程序的 root POM 文件可在 /path/to/output/mavenized/jee-example-app/pom.xml 中找到。此文件标识了所有项目模块的目录。

以下模块列在示例 jee-example-app-1.0.0.ear 应用程序的 root POM 中。

Copy to Clipboard Toggle word wrap
<modules>
  <module>jee-example-app-bom</module>
  <module>jee-example-services2-jar</module>
  <module>jee-example-services-jar</module>
  <module>jee-example-web-war</module>
  <module>jee-example-app-ear</module>
</modules>
注意

如有必要,请务必重新排序模块列表,以便按照项目的适当构建顺序列出这些模块。

root POM 也被配置为使用 Red Hat JBoss Enterprise Application Platform Maven 存储库下载项目依赖项。

BOM 文件

在目录中生成的 Bill of Materials (BOM) 文件以 -bom 结尾。对于示例应用程序 jee-example-app-1.0.0.ear,可在 /path/to/output/mavenized/jee-example-app/jee-example-app/jee-example-app-bom/pom/pom.xml 中找到 BOM 文件。此 BOM 的目的是,项目使用的第三方依赖项的版本可以在一个位置定义。有关使用 BOM 的更多信息,请参阅 Apache Maven 文档中的 依赖关系机制简介 部分。

以下依赖项列在 jee-example-app-1.0.0.ear 应用程序的 BOM 中

Copy to Clipboard Toggle word wrap
<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>1.2.6</version>
    </dependency>
    <dependency>
      <groupId>commons-lang</groupId>
      <artifactId>commons-lang</artifactId>
      <version>2.5</version>
    </dependency>
  </dependencies>
</dependencyManagement>

应用程序 POM 文件

每个可以 mavenized 的应用程序模块都有一个单独的目录,其中包含其 POM 文件。目录名称包含存档的名称,以 -jar-war-ear 后缀(根据归档类型)结束。

每个应用程序 POM 文件都会列出该模块的依赖项,包括:

  • 第三方库
  • Java EE API
  • 应用程序子模块

例如,jee-example-app-1.0.0.ear EAR、/path/to/output/mavenized/jee-example-app/jee-example-app-ear/pom.xml 的 POM 文件,列出下列依赖项。

Copy to Clipboard Toggle word wrap
<dependencies>
  <dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.6</version>
  </dependency>
  <dependency>
    <groupId>org.jboss.seam</groupId>
    <artifactId>jee-example-web-war</artifactId>
    <version>1.0</version>
    <type>war</type>
  </dependency>
  <dependency>
    <groupId>org.jboss.seam</groupId>
    <artifactId>jee-example-services-jar</artifactId>
    <version>1.0</version>
  </dependency>
  <dependency>
    <groupId>org.jboss.seam</groupId>
    <artifactId>jee-example-services2-jar</artifactId>
    <version>1.0</version>
  </dependency>
</dependencies>
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat, Inc.