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 | 推奨されないモジュールの解決時に警告を出すかどうか。以下のいずれかのコンマ区切りリスト
|
いいえ、デフォルトは警告なしです。 |
classpath、modulepath、commandpath、headerpath、configpath、legalpath、nativelibpath、およびmanpath属性はパスのような構造であり、ネストされた<classpath>、<modulepath>、<commandpath>、<headerpath>、<configpath>、<legalpath>、<nativelibpath>、および<manpath>要素によってもそれぞれ設定できます。
version属性のより細かい代替手段。このネストされた要素には次の属性があります。
| 属性 | 説明 | 必須 |
|---|---|---|
| number | 主要なバージョン番号。ハイフン(-)またはプラス(+)を含まない限り、任意のテキストを使用できます。 |
はい |
| preRelease | プレリリースバージョン。プラス(+)を含まない限り、任意のテキストを使用できます。 |
いいえ |
| build | ビルドバージョン。任意のテキストを使用できます。 | いいえ |
各バージョンコンポーネントの意味の詳細については、ModuleDescriptor.Version ドキュメントを参照してください。
moduleWarnings属性と同様ですが、警告を出すための単一の根拠のみを指定します。この子要素は複数回出現して、jmodツールによって警告を出す条件を複数指定できます。
属性
| 属性 | 説明 | 必須 |
|---|---|---|
| reason | 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"/>