Java モジュール
Java 9 から導入された Java モジュールは、PreEmptive Protection™ DashO™ モジュールとして解釈されません。標準の jar ファイルとして扱われます。
DashO は module-info.class
内の情報を更新しませんし、使用もしません。
モジュール サポートのアクティブ化
DashO > Properties
を開き、MODULE_EXPORTS_DETECTION
プロパティを追加してtrue
に設定します。- パネルにモジュールが表示されます。
- モジュール エクスポートの名前は自動的に変更されません。
module-info.class
が自動的にコンパイルされ、出力ディレクトリにコピーされます。
モジュール入力
- 各 Java モジュールを独自の DashO プロジェクトとして構成します。各モジュールは独自の dox ファイルを持ちます。
module-info
に必要なディレクティブがある場合は、Input > Support
を使用してほかの入力モジュールを追加します。
モジュール エクスポート ディレクティブ
- DashO は
module-info
エクスポートの名前を自動的に変更しません。 - 難読化したいものは、エクスポートされないパッケージに入れる必要があります。
モジュールの難読化
- DashO は
module-info.class
を難読化しません。 - パッケージの名前を変更しないようにするには、エクスポートを使用します。
- DashO は module-info を難読化された出力パスにコピーします。
モジュール オプション
Input > Options
を使用して、難読化された出力パスへの module-info のコピーを削除します。
今後のサポート
- DashO では、モジュール階層のフラット化はまだサポートされていません。現時点では、
Maintain Hierarchy
を使用してください。 - DashO では、複数のモジュールを 1 つの入力として使用することはできません。現時点では、モジュールごとに 1 つの DashO プロジェクトを使用してください。
- DashO は
module-info.class
内のパッケージの名前変更をサポートしていません。クラス名が記述されたディレクティブではエクスポートを使用してください。 PROVISIONAL_MODULE_SUPPORT
プロパティの使用は現在推奨されておらず、今後のリリースで削除される予定です。
サンプル
DashO モジュールの例 https://github.com/preemptive/dasho-samples/tree/master/java/multimod
をご覧ください。
- このプロジェクトには 2 つの dox ファイルがあり、各モジュールに対応しています。
- このプロジェクトは、難読化されていないディレクトリと難読化されているプライベート ディレクトリをエクスポートする例を示しています。