j2objc

j2objc 도구는 iOS 애플리케이션에서 사용할 수 있도록 지정된 자바 소스 파일을 Objective-C 또는 Objective-C++ 소스로 변환합니다.

j2objc [ options ] file1.java ...

다음과 같은 옵션이 지원됩니다. 경로를 취하는 옵션의 경우 javajavac 명령어와 마찬가지로 여러 디렉터리와 jar 파일이 ':'로 구분됩니다.

일반 옵션

-sourcepath <path>
입력 소스 파일을 찾을 위치를 지정합니다.
-classpath <path>
사용자 클래스 파일을 찾을 위치를 지정합니다.
-d <디렉터리>
생성된 Objective-C 파일을 배치할 위치를 지정합니다.
-encoding <인코딩>
소스 파일의 문자 인코딩을 지정합니다 (UTF-8 기본값).
-source <출시>
지정된 출시 버전과 소스 호환성을 제공합니다.
-g
디버깅 지원을 생성합니다.
-l, --list
번역된 파일을 나열합니다.
-v, --verbose
번역사가 하는 일에 관한 메시지를 출력합니다.
-Werror
모든 경고를 오류로 전환합니다.
-h, --help
이 메시지를 인쇄합니다.

번역 옵션

--add-reads
자바 컴파일러로 직접 전달되는 옵션입니다 (자세한 내용은 javac 도움말 참고).
--allow-inherited-constructors
네이티브 코드가 상속된 생성자에 액세스할 때 컴파일러 경고를 발생시키지 않습니다.
--build-closure
종속 클래스가 오래된 경우 (예: javac) 종속 클래스를 번역합니다.
--class-properties
정적 변수 및 enum 상수의 클래스 속성을 생성합니다.
--dead-code-report <파일>
불량 코드 제거를 위한 ProGuard 사용 보고서를 지정합니다.
--doc-comments
Javadoc 댓글을 Xcode 호환 댓글로 변환합니다.
--doc-comments-warnings
Javadoc 댓글을 번역할 때 경고를 신고합니다.
-external-annotation-file <파일>
자바 주석 색인 파일에서 변환에 영향을 미치는 가장 일반적인 주석을 지정합니다(Checker Framework에서 정의한 형식).
-g:none
디버깅 지원을 생성하지 않습니다.
-g:relative
상대 경로를 사용하여 디버깅 지원을 생성합니다.
--generate-deprecated
지원 중단된 메서드, 클래스, 인터페이스에 대해 지원 중단된 속성을 생성합니다.
-J<플래그>
-Xmx1G 같은 자바 <flag>를 시스템 런타임에 전달합니다.
--mapping <파일>
메서드 매핑 파일을 추가합니다.
--no-class-properties
정적 변수 및 enum 상수의 클래스 속성을 생성하지 마세요.
--no-extract-unsequenced
시퀀싱되지 않은 수정 오류가 발생할 수 있는 표현식을 다시 작성하지 마세요.
--no-nullability
Objective-C null 허용 여부 주석을 생성하지 않습니다.
--no-package-directories
파일을 생성할 때 자바 패키지의 디렉터리를 만들지 않습니다.
--no-segmented-headers
선언된 각 유형을 둘러싸는 가드가 포함된 헤더를 생성합니다. 가져오기 주기를 해제할 때 유용합니다.
--no-wrapper-methods
생성자 및 정적 메서드에 Objective-C 래퍼 메서드를 생성하지 마세요. (J2ObjC는 이러한 종류의 실행 파일을 위한 C 함수를 생성합니다.)
--nullability
null을 허용하는 주석과 null이 아닌 주석을 Objective-C 주석으로 변환합니다.
--patch-module
자바 컴파일러로 직접 전달되는 옵션입니다 (자세한 내용은 javac 도움말 참고).
--prefix <package=prefix>
패키지 이름에 지정된 접두사를 대체합니다.
--prefixes <파일>
접두사 정의가 포함된 속성 파일을 지정합니다.
--preserve-full-paths
입력 파일과 동일한 상대 경로를 사용하여 출력 파일을 생성합니다.
-processor <클래스1>[,<클래스2>...]
실행할 주석 프로세서의 이름입니다. 기본 검색 프로세스를 우회합니다.
-processorpath <path>
주석 프로세서를 찾을 위치를 지정합니다.
--reflection:{all,none,enum-constants,-enum-constants,name-mapping,-name-mapping}
자바 리플렉션에 필요한 특정 지원을 생성하거나 제외합니다.
--reserved-names <파일>
시스템 헤더에 있는 식별자를 다시 정의하지 않습니다.
--static-accessor-methods
정적 변수 및 enum 상수의 접근자 메서드를 생성합니다.
--strip-gwt-incompatible
주석에서 호환되는 것으로 알려진 값이 아니면 GwtIncompatible주석이 표시된 메서드를 삭제합니다.
--strip-reflection
자바 리플렉션에 필요한 메타데이터를 생성하지 마세요. 참고: 리플렉션 지원이 크게 줄어듭니다.
--swift-friendly
Swift 가져오기를 용이하게 하는 코드를 생성합니다 (--class-properties --nullability에 해당).
--system
자바 컴파일러로 직접 전달되는 옵션입니다 (자세한 내용은 javac 도움말 참고).
-t, --timing-info
번역 단계에서 사용한 시간을 인쇄합니다.
--timing-info:{all,total,none}
번역 단계에서 사용한 시간을 인쇄합니다.
-use-arc
Objective-C 코드를 생성하여 자동 참조 계산 (ARC)을 지원합니다.
-use-reference-counting
iOS 수동 참조 계산을 지원하기 위해 Objective-C 코드를 생성합니다 (기본값).
-version
버전 정보.
-x <언어>
출력할 언어를 지정합니다. 가능한 값은 objective-c (기본값) 및 objective-c++입니다.
-X
비표준 옵션에 관한 도움말을 출력합니다.

비표준 옵션

-Xbootclasspath:<경로>
변환에 사용되는 부팅 경로입니다 (도구 자체는 아님).
-Xlint
모든 경고를 사용 설정합니다.
-Xlint:none
자바 언어 사양에서 필수가 아닌 모든 경고를 사용 중지합니다.
-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
자바 언어 사양에서 요구되는 변환되지 않은 전환 경고에 관해 자세히 설명합니다.
-Xlint:varargs
특히, 확인할 수 없는 인수가 포함된 변수 인수(varargs) 메서드의 안전하지 않은 사용에 관한 경고
-Xno-jsni-warnings
OCNI 구분자 대신 JSNI (GWT) 네이티브 코드 구분자를 사용하면 경고합니다.

참고 항목

j2objcc