j2objc
j2objc 도구는 iOS 애플리케이션에서 사용할 수 있도록 지정된 자바 소스 파일을 Objective-C 또는 Objective-C++ 소스로 변환합니다.
j2objc [ options ] file1.java ...
다음과 같은 옵션이 지원됩니다. 경로를 취하는 옵션의 경우 java
및 javac
명령어와 마찬가지로 여러 디렉터리와 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) 네이티브 코드 구분자를 사용하면 경고합니다.