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