5.2. 既存の Maven プロジェクトの変更


5.2.1. 概要

すでに Maven プロジェクトがあり、OSGi バンドルを生成するように変更する場合は、以下の手順を実行します。

5.2.2. パッケージタイプのバンドルへの変更

プロジェクトの pom.xml ファイルでパッケージタイプを bundle に変更して、OSGi バンドルを生成するよう Maven を設定します。以下の例のように、packaging 要素の内容を bundle に変更します。

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

この設定により、Maven バンドルプラグイン maven-bundle-plugin を選択され、このプロジェクトのパッケージ化が実行されます。ただし、この設定自体は、バンドルプラグインを POM に明示的に追加するまで効果がありません。

5.2.3. バンドルプラグインの POM への追加

Maven バンドルプラグインを追加するには、以下のサンプル plugin 要素をコピーし、プロジェクトの 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>

バンドルプラグインは instructions 要素の設定によって設定されます。

5.2.4. バンドルプラグインのカスタマイズ

Apache CXF のバンドルプラグインの設定に関する具体的な推奨事項は、「Web サービスのバンドルへのパッケージ化」 を参照してください。

5.2.5. JDK コンパイラーのバージョンのカスタマイズ

ほとんどの場合、POM ファイルで JDK バージョンを指定する必要があります。コードでジェネリック、静的インポートなどの Java 言語の最新機能を使用しており、POM で JDK バージョンをカスタマイズしていない場合、Maven はソースコードのコンパイルに失敗します。JAVA_HOME および PATH 環境変数を JDK の正しい値に設定するだけでは不十分で、POM ファイルも変更する必要があります。

JDK 1.8 で導入された Java 言語機能を受け入れるように POM ファイルを設定するには、以下の 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

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.