j2objc

j2objc ツールは、iOS アプリケーションで使用するために、指定された Java ソースファイルを Objective-C または Objective-C++ のソースに変換します。

j2objc [ options ] file1.java ...

次のオプションがサポートされています。パスを指定するオプションでは、複数のディレクトリと jar ファイルは「:」で区切ります。これは、java コマンドと javac コマンドの場合と同様です。

一般的なオプション

-sourcepath <path>
入力ソースファイルを配置する場所を指定します。
-classpath <path>
ユーザークラスのファイルを検索する場所を指定します。
-d <ディレクトリ>
生成された Objective-C ファイルを配置する場所を指定します。
-encoding <エンコード>
ソースファイルの文字エンコードを指定します(デフォルト: UTF-8)。
-source <リリース>
指定したリリースとのソース互換性を提供します。
-g
デバッグ サポートを生成します。
-l, --list
翻訳されたファイルを一覧表示できます。
-v, --verbose
翻訳者が何をしているかに関する出力メッセージ。
-Werror
すべての警告をエラーにします。
-h, --help
このメールを印刷します。

変換オプション

--add-reads
オプションが Java コンパイラに直接転送されます(詳細は javac のヘルプをご覧ください)。
--allow-inherited-constructors
ネイティブ コードが継承されたコンストラクタにアクセスする場合は、コンパイラ警告を発行しないでください。
--build-closure
依存するクラスが古くなった場合は翻訳します(例:javac
--class-properties
静的変数と列挙型定数のクラス プロパティを生成します。
--dead-code-report <file>
不要なコードを排除するための ProGuard 使用状況レポートを指定します。
--doc-comments
Javadoc コメントを Xcode 互換のコメントに翻訳します。
--doc-comments-warnings
Javadoc コメントを翻訳する際に警告を表示する。
-external-annotation-file <file>
Java Annotation Index File(チェッカー フレームワークで定義されている形式)で、トランスパイルに影響する最も一般的なアノテーションを指定します。
-g:none
デバッグ サポートを生成しないでください。
-g:relative
相対パスを使用してデバッグ サポートを生成します。
--generate-deprecated
サポートが終了したメソッド、クラス、インターフェースについて、サポートが終了した属性を生成します。
-J<フラグ>
-Xmx1G などの Java <flag> をシステム ランタイムに渡します。
--mapping <file>
メソッド マッピング ファイルを追加します。
--no-class-properties
静的変数および列挙型定数のクラス プロパティを生成しないでください。
--no-extract-unsequenced
不変の変更エラーを発生させる式を書き換えないでください。
--no-nullability
Objective-C の null 可能性アノテーションは生成しないでください。
--no-package-directories
ファイルを生成するときに、Java パッケージのディレクトリを作成しないでください。
--no-segmented-headers
宣言された各型を囲むガードを含むヘッダーを生成します。インポート サイクルの分割に便利です。
--no-wrapper-methods
コンストラクタと静的メソッドに対して Objective-C ラッパー メソッドを生成しないでください。(J2ObjC はこの種の実行可能ファイルの C 関数を生成します)。
--nullability
null 値許容および非 null のアノテーションを Objective-C のアノテーションに変換します。
--patch-module
オプションが Java コンパイラに直接転送されます(詳細は javac のヘルプをご覧ください)。
--prefix <package=接頭辞>
パッケージ名は、指定したプレフィックスに置き換えてください。
--prefixes <file>
接頭辞の定義を含むプロパティ ファイルを指定します。
--preserve-full-paths
入力ファイルと同じ相対パスを持つ出力ファイルを生成します。
-processor<class1>[,<class2>...]
実行するアノテーション プロセッサの名前。デフォルトの検出プロセスをバイパスします。
-processorpath <path>
アノテーション プロセッサがある場所を指定します。
--reflection:{all,none,enum-constants,-enum-constants,name-mapping,-name-mapping}
Java リフレクションに必要な特定のサポートを生成または除外します。
--reserved-names <file>
システム ヘッダーに存在する識別子を再定義しないようにします。
--static-accessor-methods
静的変数と列挙型定数のアクセサー メソッドを生成します。
--strip-gwt-incompatible
アノテーションが付けられたメソッドを削除します。GwtIncompatible 互換性があることがわかっている場合を除きます。
--strip-reflection
Java リフレクションに必要なメタデータを生成しないでください(リフレクションのサポートが大幅に減少します)。
--swift-friendly
Swift インポートを容易にするコードを生成します(--class-properties --nullability と同等)。
--system
オプションが Java コンパイラに直接転送されます(詳細は javac のヘルプをご覧ください)。
-t, --timing-info
翻訳ステップに印刷時間を出力。
--timing-info:{all,total,none}
翻訳ステップに印刷時間を出力。
-use-arc
自動参照カウント(ARC)をサポートする Objective-C コードを生成します。
-use-reference-counting
iOS の手動参照カウントをサポートする Objective-C コードを生成します(デフォルト)。
-version
バージョン情報。
-x <言語>
出力する言語を指定します。有効な値は objective-c(デフォルト)と objective-c++ です。
-X
標準以外のオプションのヘルプが表示されます。

非標準のオプション

-Xbootclasspath:<パス>
(ツール自体ではなく)翻訳で使用されるブートパス。
-Xlint
すべての警告を有効にします。
-Xlint:none
Java 言語仕様で義務付けられていないすべての警告を無効にします。
-Xlint:-xxx
警告 xxx を無効にします。ここで、xxx-Xlint:xxx でサポートされている警告名のいずれかです。
-Xlint:cast
不要で冗長なキャスト式を警告します。
-Xlint:deprecation
サポートが終了したアイテムの使用について警告する。
-Xlint:dep-ann
@deprecated Javadoc コメントが記録されているが、@Deprecated アノテーションがないアイテムに関する警告。
-Xlint:empty
空のステートメントに関する警告
-Xlint:fallthrough
スイッチ ブロックで代替ケースがないかを確認し、問題が見つかった場合は警告メッセージを表示します。
-Xlint:finally
正常に完了できない finally 句について警告します。
-Xlint:rawtypes
未加工のオペレーションの未確認のオペレーションに関する警告。
-Xlint:serial
シリアル化可能なクラスで serialVersionUID 定義が欠落していないことを警告します。
-Xlint:static
インスタンスで呼び出されるシリアル メソッドについて警告します。
-Xlint:unchecked
Java 言語仕様で義務付けられている、チェックされていないコンバージョン警告について詳細を指定します。
-Xlint:varargs
変数引数(varargs)メソッドの安全でない使用(特に、修正不可能な引数を含むメソッド)について警告します。
-Xno-jsni-warnings
OCNI 区切り文字の代わりに JSNI (GWT) ネイティブ コード区切り文字が使用されている場合に警告します。

関連項目

j2objcc