j2objc

เครื่องมือ j2objc จะแปลไฟล์ต้นฉบับ Java ที่ระบุเป็นออบเจ็กต์ Objective-C หรือ Objective-C++ สําหรับใช้ในแอปพลิเคชัน iOS

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
สร้างพร็อพเพอร์ตี้คลาสสําหรับตัวแปรแบบคงที่และค่าคงที่ Enum
--dead-code-report <file>
ระบุรายงานการใช้งาน ProGuard สําหรับการกําจัดโค้ดเสีย
--doc-comments
แปลความคิดเห็น JavaScript เป็นความคิดเห็นที่เข้ากันได้กับ Xcode
--doc-comments-warnings
รายงานคําเตือนเมื่อแปลความคิดเห็น Javadoc
-external-annotation-file <file>
ระบุคําอธิบายประกอบที่พบบ่อยที่สุดซึ่งส่งผลต่อการแปลในไฟล์ดัชนีคําอธิบายประกอบ Java (รูปแบบที่กําหนดโดยเฟรมเวิร์กผู้ตรวจสอบ)
-g:none
อย่าสร้างการรองรับการแก้ไขข้อบกพร่อง
-g:relative
สร้างการรองรับการแก้ไขข้อบกพร่องด้วยเส้นทางแบบสัมพัทธ์
--generate-deprecated
สร้างแอตทริบิวต์ที่เลิกใช้งานแล้วสําหรับเมธอด ชั้นเรียน และอินเทอร์เฟซที่เลิกใช้งานแล้ว
-J <Flag>
ส่ง <flag> เช่น -Xmx1G ไปยังรันไทม์ของระบบ
--mapping <file>
เพิ่มไฟล์การแมปเมธอด
--no-class-properties
อย่าสร้างพร็อพเพอร์ตี้คลาสสําหรับตัวแปรแบบคงที่และค่าคงที่ Enum
--no-extract-unsequenced
อย่าเขียนนิพจน์ใหม่ที่ทําให้เกิดข้อผิดพลาดในการแก้ไขที่ไม่มีผลลัพธ์
--no-nullability
อย่าสร้างคําอธิบายประกอบ Nullive-C เป็นค่าว่าง
--no-package-directories
อย่าสร้างไดเรกทอรีสําหรับแพ็กเกจ Java เมื่อสร้างไฟล์
--no-segmented-headers
สร้างส่วนหัวที่มีการป้องกันรอบการประกาศแต่ละประเภท มีประโยชน์สําหรับการเปลี่ยนวงจรการนําเข้า
--no-wrapper-methods
อย่าสร้างเมธอด Objective-C สําหรับตัวสร้าง และวิธีการแบบคงที่ (J2ObjC สร้างฟังก์ชัน C สําหรับปฏิบัติการเหล่านี้)
--nullability
แปลงคําอธิบายประกอบที่เป็นไปได้และต้องไม่เป็น Null เป็นคําอธิบายประกอบ Objective-C
--patch-module
ตัวเลือกได้รับการส่งต่อไปยังคอมไพเลอร์ Java โดยตรง (ดูรายละเอียดในความช่วยเหลือเกี่ยวกับ Javac)
--prefix <package=prefix>
แทนที่คํานําหน้าที่ระบุสําหรับชื่อแพ็กเกจ
--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
สร้างวิธีเข้าถึงสําหรับตัวแปรคงที่และค่าคงที่ Enum
--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 ของ JavaScript แต่ไม่มีคําอธิบายประกอบ @Deprecated
-Xlint:empty
เตือนเกี่ยวกับข้อความว่างเปล่า
-Xlint:fallthrough
ตรวจสอบบล็อกสวิตช์ของเคสฤดูใบไม้ร่วง และแสดงข้อความเตือนเมื่อพบ
-Xlint:finally
เตือนเกี่ยวกับ finally ประโยคที่ไม่เสร็จสมบูรณ์ตามปกติ
-Xlint:rawtypes
เตือนเกี่ยวกับการดําเนินการที่ไม่ได้ตรวจสอบเกี่ยวกับประเภทข้อมูลดิบ
-Xlint:serial
เตือนเกี่ยวกับคําจํากัดความที่ไม่มีใน serialVersionUID ชั้นเรียนที่เรียงลําดับได้
-Xlint:static
เตือนเกี่ยวกับเมธอดอนุกรมที่เรียกใช้บนอินสแตนซ์
-Xlint:unchecked
ให้รายละเอียดเพิ่มเติมสําหรับคําเตือน Conversion ที่ไม่ได้เลือกไว้ตามข้อกําหนดของ Java Language
-Xlint:varargs
เตือนคุณเกี่ยวกับการใช้งานเมธอดอาร์กิวเมนต์ตัวแปร (varargs) ที่ไม่ปลอดภัย โดยเฉพาะอย่างยิ่งเมธอดที่มีอาร์กิวเมนต์ที่แก้ไขไม่ได้
-Xno-jsni-warnings
เตือนหากใช้ตัวคั่นโค้ด JSNI (GWT) แทนตัวคั่น OCNI

ดูเพิ่มเติม

j2objcc