搜索

5.2. 修改现有的 Maven 项目

download PDF

5.2.1. 概述

如果您已有 Maven 项目并想对其进行修改,以便其生成 OSGi 捆绑包,请执行以下步骤:

5.2.2. 将软件包类型改为捆绑包

通过将软件包类型更改为捆绑到项目的 pom.xml 文件中,配置 Maven 以生成 OSGi 捆绑包。将 打包 元素的内容更改为 bundle,如下例所示:

<project ... >
  ...
  <packaging>bundle</packaging>
  ...
</project>

此设置的影响是选择 Maven bundle 插件 maven-bundle-plugin 来为此项目执行打包。但是,此设置本身无效,直到将捆绑包插件显式添加到您的 POM 之前才会生效。

5.2.3. 将捆绑包插件添加到您的 POM

要添加 Maven bundle 插件,请将以下示例 插件 元素复制并粘贴到项目的 pom.xml 文件的 project/build/plugins 部分:

<project ... >
  ...
  <build>
    <defaultGoal>install</defaultGoal>
    <plugins>
      ...
    <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
        <version>3.3.0</version>
        <extensions>true</extensions>
        <configuration>
          <instructions>
            <Bundle-SymbolicName>${project.groupId}.${project.artifactId}
            </Bundle-SymbolicName>
            <Import-Package>*</Import-Package>
          </instructions>
        </configuration>
      </plugin>
    </plugins>
  </build>
  ...
</project>

这里的 bundle 插件由 instructions 元素中的设置配置。

5.2.4. 自定义 bundle 插件

有关为 Apache CXF 配置捆绑插件的某些具体建议,请参阅 第 5.3 节 “在捆绑包中打包 Web 服务”

5.2.5. 自定义 JDK 编译器版本

在您的 POM 文件中指定 JDK 版本几乎始终是必需的。如果您的代码使用 Java 语言的任何现代功能,如通用、静态导入等,且您未在 POM 中自定义 JDK 版本,则 Maven 将无法编译源代码。将 JAVA_HOMEPATH 环境变量设置为 JDK 的正确值不足,还必须修改 POM 文件。

要配置您的 POM 文件,使其接受 JDK 1.8 中引入的 Java 语言功能,请将以下 maven-compiler-plugin 插件设置添加到您的 POM(如果不存在它们):

<project ... >
  ...
  <build>
    <defaultGoal>install</defaultGoal>
    <plugins>
      ...
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
    </plugins>
  </build>
  ...
</project>
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.