j2objc

Инструмент j2objc переводит указанные исходные файлы Java в исходные коды Objective-C или Objective-C++ для использования в приложении iOS.

j2objc [ options ] file1.java ...

Поддерживаются следующие параметры. Для параметров, у которых есть путь, несколько каталогов и JAR-файлов разделяются символом ':', как это делается с командами java и javac .

Общие параметры

-sourcepath путь <путь>
Укажите, где найти входные исходные файлы.
-classpath <путь>
Укажите, где найти файлы классов пользователей.
-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 <файл>
Укажите отчет об использовании ProGuard для устранения мертвого кода.
--doc-comments
Преобразуйте комментарии Javadoc в комментарии, совместимые с Xcode.
--doc-comments-warnings
Сообщайте о предупреждениях при переводе комментариев Javadoc.
-external-annotation-file <файл>
Укажите наиболее распространенные аннотации, влияющие на транспиляцию, в индексном файле аннотаций Java (формат, определенный платформой проверки).
-g:none
Не создавать поддержку отладки.
-g:relative
Создайте поддержку отладки с относительными путями.
--generate-deprecated
Создавайте устаревшие атрибуты для устаревших методов, классов и интерфейсов.
-J <флаг>
Передайте <flag> Java, например -Xmx1G , среде выполнения системы.
--mapping <файл>
Добавьте файл сопоставления методов.
--no-class-properties
Не создавайте свойства класса для статических переменных и констант перечисления.
--no-extract-unsequenced
Не переписывайте выражения, которые могут привести к непоследовательным ошибкам модификации.
--no-nullability
Не создавайте аннотации обнуляемости Objective-C.
--no-package-directories
Не создавайте каталоги для пакетов Java при создании файлов.
--no-segmented-headers
Генерирует заголовки с защитой вокруг каждого объявленного типа. Полезно для прерывания циклов импорта.
--no-wrapper-methods
Не создавайте методы-оболочки Objective-C для конструкторов и статических методов. (J2ObjC генерирует функции C для таких исполняемых файлов)
--nullability
Преобразует аннотации Nullable и Nonnull в аннотации Objective-C.
--patch-module
Параметр передается непосредственно компилятору Java (подробности см. в справке по javac).
--prefix <пакет=префикс>
Замените указанный префикс на имя пакета.
--prefixes <файл>
Укажите файл свойств с определениями префиксов.
--preserve-full-paths
Генерирует выходные файлы с теми же относительными путями, что и входные файлы.
-processor <класс1>[,<класс2>...]
Имена процессоров аннотаций для запуска; обходит процесс обнаружения по умолчанию.
-processorpath <путь>
Укажите, где найти обработчики аннотаций.
--reflection:{all,none,enum-constants,-enum-constants,name-mapping,-name-mapping}
Создайте или исключите конкретную поддержку, необходимую для отражения Java.
--reserved-names <файл>
Избегает переопределения идентификаторов, присутствующих в системных заголовках.
--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
Создайте код Objective-C для поддержки автоматического подсчета ссылок (ARC).
-use-reference-counting
Создайте код Objective-C для поддержки ручного подсчета ссылок iOS (по умолчанию).
-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