j2objc

Công cụ j2objc sẽ chuyển các tệp nguồn Java được chỉ định thành nguồn Objective-C hoặc Objective-C++ để sử dụng trong ứng dụng iOS.

j2objc [ options ] file1.java ...

Các tuỳ chọn sau được hỗ trợ. Đối với các tùy chọn đi theo đường dẫn, nhiều thư mục và tệp jar được phân tách bằng dấu ':', như được thực hiện với lệnh javajavac.

Các tùy chọn phổ biến

-sourcepath <đường dẫn>
Chỉ định nơi cần tìm tệp nguồn đầu vào.
-classpath <đường dẫn>
Chỉ định nơi cần tìm tệp của lớp người dùng.
-d <thư mục>
Chỉ định vị trí đặt tệp Objective-C đã tạo.
-encoding <Mã hoá>
Chỉ định chế độ mã hoá ký tự cho các tệp nguồn (mặc định sử dụng UTF-8).
-source <bản phát hành>
Cung cấp khả năng tương thích nguồn với bản phát hành đã chỉ định.
-g
Tạo hỗ trợ gỡ lỗi.
-l, --list
Liệt kê các tệp được dịch.
-v, --verbose
Thông báo đầu ra về những việc người dịch đang làm.
-Werror
Chuyển tất cả các cảnh báo thành lỗi.
-h, --help
In tin nhắn này.

Các lựa chọn dịch

--add-reads
Tùy chọn sẽ chuyển tiếp trực tiếp đến trình biên dịch Java (xem phần trợ giúp về javac để biết thông tin chi tiết).
--allow-inherited-constructors
Không đưa ra cảnh báo của trình biên dịch khi mã gốc truy cập vào các hàm khởi tạo kế thừa.
--build-closure
Dịch các lớp phụ thuộc nếu chúng đã lỗi thời (nhưjavacthực hiện).
--class-properties
Tạo thuộc tính lớp cho các biến tĩnh và hằng số enum.
--dead-code-report <tệp>
Chỉ định báo cáo sử dụng ProGuard để loại bỏ mã đã chết.
--doc-comments
Dịch các nhận xét trong Javadoc thành các nhận xét tương thích với Xcode.
--doc-comments-warnings
Báo cáo cảnh báo khi dịch bình luận Javadoc.
-external-annotation-file <tệp>
Chỉ định các chú thích phổ biến nhất ảnh hưởng đến quá trình chuyển đổi trong Tệp chỉ mục chú thích Java (định dạng do Khung kiểm tra xác định).
-g:none
Không hỗ trợ gỡ lỗi.
-g:relative
Tạo tính năng hỗ trợ gỡ lỗi với các đường dẫn tương đối.
--generate-deprecated
Tạo các thuộc tính không dùng nữa cho các phương thức, lớp và giao diện không dùng nữa.
-J<gắn cờ>
Truyền một <flag> Java, chẳng hạn như -Xmx1G, vào thời gian chạy của hệ thống.
--mapping <tệp>
Thêm tệp ánh xạ phương thức.
--no-class-properties
Không tạo thuộc tính lớp cho các biến tĩnh và hằng số enum.
--no-extract-unsequenced
Đừng viết lại các biểu thức gây ra lỗi sửa đổi không theo trình tự.
--no-nullability
Đừng tạo chú thích thuộc tính rỗng Objective-C.
--no-package-directories
Không tạo thư mục cho các gói Java khi tạo tệp.
--no-segmented-headers
Tạo tiêu đề có bảo vệ xung quanh mỗi loại đã khai báo. Hữu ích khi phá vỡ chu kỳ nhập.
--no-wrapper-methods
Đừng tạo phương thức trình bao bọc Objective-C cho hàm dựng và phương thức tĩnh. (J2ObjC tạo các hàm C cho các loại tệp thực thi này)
--nullability
Chuyển đổi chú thích rỗng và không rỗng thành chú thích Objective-C.
--patch-module
Tùy chọn sẽ chuyển tiếp trực tiếp đến trình biên dịch Java (xem phần trợ giúp về javac để biết thông tin chi tiết).
--prefix <package=prefix>
Thay thế một tiền tố đã chỉ định cho tên gói.
--prefixes <tệp>
Chỉ định tệp thuộc tính có định nghĩa tiền tố.
--preserve-full-paths
Tạo tệp đầu ra có đường dẫn tương đối giống với tệp đầu vào.
-processor <class1>[,<class2>...]
Tên của trình xử lý chú giải sẽ chạy; bỏ qua quy trình khám phá mặc định.
-processorpath <đường dẫn>
Chỉ định nơi cần tìm các trình xử lý chú giải.
--reflection:{all,none,enum-constants,-enum-constants,name-mapping,-name-mapping}
Tạo hoặc loại trừ sự hỗ trợ cụ thể cần thiết cho việc phản chiếu trong Java.
--reserved-names <tệp>
Tránh xác định lại các giá trị nhận dạng có trong tiêu đề hệ thống.
--static-accessor-methods
Tạo phương thức truy cập cho các biến tĩnh và hằng số enum.
--strip-gwt-incompatible
Xoá các phương thức được đánh dấu bằng chú thíchGwtIncompatibletrừ phi giá trị của phương thức đó được tương thích.
--strip-reflection
Không tạo siêu dữ liệu cần thiết cho tính năng phản chiếu trong Java (lưu ý: điều này sẽ làm giảm đáng kể khả năng hỗ trợ phản chiếu).
--swift-friendly
Tạo mã hỗ trợ việc nhập Swift (tương đương với --class-properties --nullability).
--system
Tùy chọn sẽ chuyển tiếp trực tiếp đến trình biên dịch Java (xem phần trợ giúp về javac để biết thông tin chi tiết).
-t, --timing-info
Thời gian in được thực hiện trong các bước dịch thuật.
--timing-info:{all,total,none}
Thời gian in được thực hiện trong các bước dịch thuật.
-use-arc
Tạo mã Objective-C để hỗ trợ đếm tham chiếu tự động (ARC).
-use-reference-counting
Tạo mã Objective-C để hỗ trợ đếm tham chiếu thủ công cho iOS (mặc định).
-version
Thông tin phiên bản.
-x <ngôn ngữ>
Chọn ngôn ngữ đầu ra. Các giá trị có thể có là objective-c (mặc định) và objective-c++.
-X
In trợ giúp cho các tùy chọn không đúng chuẩn.

Tùy chọn không chuẩn

-Xbootclasspath:<đường dẫn>
Đường dẫn khởi động được dịch sử dụng (không phải do chính công cụ).
-Xlint
Bật tất cả cảnh báo.
-Xlint:none
Tắt tất cả cảnh báo không bắt buộc theo Thông số kỹ thuật ngôn ngữ Java.
-Xlint:-xxx
Tắt cảnh báo xxx, trong đó xxx là một trong những tên cảnh báo được hỗ trợ cho -Xlint:xxx ở bên dưới.
-Xlint:cast
Cảnh báo về các biểu thức truyền không cần thiết và thừa.
-Xlint:deprecation
Cảnh báo về việc sử dụng các mục không dùng nữa.
-Xlint:dep-ann
Cảnh báo về các mục được ghi lại bằng bình luận Javadoc @deprecated, nhưng không có chú thích @Deprecated.
-Xlint:empty
Cảnh báo về câu lệnh trống.
-Xlint:fallthrough
Kiểm tra khối chuyển đổi cho các trường hợp chuyển tiếp và đưa ra thông báo cảnh báo cho những trường hợp được tìm thấy.
-Xlint:finally
Cảnh báo về mệnh đề finally không thể hoàn thành bình thường.
-Xlint:rawtypes
Cảnh báo về các thao tác chưa đánh dấu trên các loại thô.
-Xlint:serial
Cảnh báo về việc thiếu khai báo serialVersionUID trên các lớp có thể tuần tự hoá.
-Xlint:static
Cảnh báo về các phương thức nối tiếp được gọi trên các thực thể.
-Xlint:unchecked
Cung cấp thêm thông tin chi tiết cho những cảnh báo về lượt chuyển đổi chưa đánh dấu bắt buộc theo Quy cách ngôn ngữ Java.
-Xlint:varargs
Cảnh báo về việc sử dụng các phương thức đối số biến (varargs) không an toàn, cụ thể là những phương thức chứa đối số không thể sửa đổi.
-Xno-jsni-warnings
Cảnh báo nếu bạn sử dụng dấu phân tách mã gốc JSNI (GWT) thay vì dấu phân tách OCNI.

Xem thêm

j2objcc