Jmod

Apache Ant 1.10.6 以降

説明

モジュール化されたJARファイルから、リンク可能なjmodファイルを作成します。必要に応じて、ネイティブライブラリやライセンス文書などの他のアプリケーションファイルも追加できます。JDKのjmodツールと同等です。

Java 9以降が必要です。

パラメータ

属性 説明 必須
destFile 作成するjmodファイル。 はい
classpath jmodファイルに配置するファイル。通常は単一のモジュール。 ネストされた<classpath>が存在しない限り、これらのいずれかが必須です。
classpathref 別途定義されたパスへの参照として指定された、jmodファイルに配置するファイル。
modulepath classpathモジュールが依存するモジュールの場所。 いいえ
modulepathref 別途定義されたパスへの参照として指定された、classpathモジュールが依存するモジュールの場所。 いいえ
commandpath jmodに含めるネイティブコマンドを含むディレクトリ。 いいえ
commandpathref 別途定義されたパスへの参照として指定された、jmodに含めるネイティブコマンドを含むディレクトリ。 いいえ
headerpath jmodに含めるヘッダーファイルを含むディレクトリ。 いいえ
headerpathref 別途定義されたパスへの参照として指定された、jmodに含めるヘッダーファイルを含むディレクトリ。 いいえ
configpath jmodに含める、ユーザーが編集可能な設定ファイルを含むディレクトリ。 いいえ
configpathref 別途定義されたパスへの参照として指定された、jmodに含める、ユーザーが編集可能な設定ファイルを含むディレクトリ。 いいえ
legalpath jmodに含める法的ライセンスと注意事項を含むディレクトリ。 いいえ
legalpathref 別途定義されたパスへの参照として指定された、jmodに含める法的ライセンスと注意事項を含むディレクトリ。 いいえ
nativelibpath jmodに含めるネイティブライブラリを含むディレクトリ。 いいえ
nativelibpathref 別途定義されたパスへの参照として指定された、jmodに含めるネイティブライブラリを含むディレクトリ。 いいえ
manpath jmodに含めるマニュアルページを含むディレクトリ。 いいえ
manpathref 別途定義されたパスへの参照として指定された、jmodに含めるマニュアルページを含むディレクトリ。 いいえ
version jmodのモジュールバージョン いいえ
mainclass モジュールの実行可能エントリポイントとして機能するクラス。 いいえ
platform jmodのターゲットプラットフォーム。通常はOS-アーキテクチャの形式になります。特定のJDKのプラットフォームは、jmod describe $JDK_HOME/jmods/java.base.jmod | grep -i platformのようなコマンドを実行することで確認できます。 いいえ
hashModulesPattern 作成されるjmodに依存し、ハッシュを生成して新しいjmodに含める必要があるモジュールパスのモジュール名の正規表現。 いいえ
resolveByDefault ツールやアプリケーションによって検索されるモジュールパスにある場合、jmodがデフォルトで解決されるモジュールの1つであるかどうかを示すブール値。 いいえ。デフォルトはtrueです。
moduleWarnings 推奨されないモジュールの解決時に警告を出すかどうか。以下のいずれかのコンマ区切りリスト
deprecated
モジュールが非推奨の場合に警告する
leaving
モジュールが削除のために非推奨の場合に警告する
incubating
モジュールがインキュベーション中(まだ公式ではない)モジュールの場合に警告する
いいえ、デフォルトは警告なしです。

ネストされた要素として指定されたパラメータ

classpath、modulepath、commandpath、headerpath、configpath、legalpath、nativelibpath、manpath

classpathmodulepathcommandpathheaderpathconfigpathlegalpathnativelibpath、およびmanpath属性はパスのような構造であり、ネストされた<classpath><modulepath><commandpath><headerpath><configpath><legalpath><nativelibpath>、および<manpath>要素によってもそれぞれ設定できます。

version

version属性のより細かい代替手段。このネストされた要素には次の属性があります。

属性 説明 必須
number 主要なバージョン番号。ハイフン(-)またはプラス(+)を含まない限り、任意のテキストを使用できます。 はい
preRelease プレリリースバージョン。プラス(+)を含まない限り、任意のテキストを使用できます。 いいえ
build ビルドバージョン。任意のテキストを使用できます。いいえ

各バージョンコンポーネントの意味の詳細については、ModuleDescriptor.Version ドキュメントを参照してください。

moduleWarning

moduleWarnings属性と同様ですが、警告を出すための単一の根拠のみを指定します。この子要素は複数回出現して、jmodツールによって警告を出す条件を複数指定できます。

属性

属性 説明 必須
reason jmodツールが警告を出す原因となる条件。次のいずれか
deprecated
モジュールが非推奨の場合に警告する
leaving
モジュールが削除のために非推奨の場合に警告する
incubating
モジュールがインキュベーション中(まだ公式ではない)モジュールの場合に警告する
はい

基本的なjmod

単一のモジュール化されたJARファイルからjmodを作成する

<jmod destfile="MyApp.jmod" classpath="build/myapp.jar"/>

依存関係あり

別のモジュールに依存するモジュール化されたJARファイルからjmodを作成する

<jmod destfile="MyApp.jmod" classpath="build/myapp.jar">
    <modulepath>
        <pathelement location="libs/thirdpartyutils.jar"/>
    </modulepath>
</jmod>

バージョンあり

モジュールバージョンを持つjmodを作成する

<jmod destfile="MyApp.jmod" classpath="build/myapp.jar"
      version="1.2.1-ea+29"/>

モジュールバージョンのコンポーネントからバージョン付きjmodを作成する

<property name="version" value="1.2.1"/>
<buildnumber/>
<loadfile property="buildnum" srcFile="build.number"/>
<jmod destfile="MyApp.jmod" classpath="build/myapp.jar">
    <version number="${version}" build="${buildnum}"/>
</jmod>

メインクラス

メインクラスを持つjmodを作成する

<jmod destfile="MyApp.jmod" classpath="build/myapp.jar"
      mainclass="com.example.myapp.MainWindow"/>

ターゲットプラットフォーム

現在のプラットフォームとは異なる特定のプラットフォーム用のjmodを作成する

<jmod destfile="MyApp.jmod" classpath="build/myapp.jar"
      platform="windows-amd64"/>