私は、gradle プロジェクトのいくつかの Java のみのモジュールで j2objc を実行しようとしています。j2objc に gradle プラグインを使用していますが、それが問題の原因であるとは思いません。このモジュールは、XMLUnit を使用して入力ファイルの違いを検出します。XMLUnit にはorg.xmlunit.builder.JaxbBuilder
、おそらく変換に失敗したため、j2objc で省略されたいくつかの javax クラスが表示されないために、変換に失敗したクラスが含まれています。いずれにせよ、私のコードはクラスを使用していないJaxbBuilder
ので、デッド コード レポートを作成して省略しました。プロガードを使用してより完全なセットを生成できることはわかっていますが、現時点では、このすべての gradle CI パイプラインにまだ取り組んでいるため、このクラスが試行されないようにすることに重点を置いています。レポートにはタイトルが付けられdead_code.log
、次の行のみが含まれます。
org.xmlunit.builder.JaxbBuilder
j2objc プラグイン構成は次のように指定されます。
j2objcConfig {
autoConfigureDeps true
// Xcode workspace directory
xcodeProjectDir '../ios'
translateArgs '--dead-code-report', './dead_code.log'
translateArgs '--doc-comments'
translateArgs '-v'
finalConfigure() // Must be last call to configuration
}
そして、デッド コード引数がコマンド ラインに追加されたことをログで確認できますが、実行中は次のように表示されます。
タイプ AnnotatedElement の汎用メソッド getAnnotation(Class) は、引数 (Class) には適用されません。推定された型 XmlRootElement は、境界付きパラメーター エラーの有効な代替ではありません: org/xmlunit/builder/JaxbBuilder.java:103: XmlRootElement を型エラーに解決できません: org/xmlunit/builder/JaxbBuilder.java:106: メソッドタイプ JaxbBuilder の createJAXBElement(Object) が欠落しているタイプ JAXBElement を参照しています エラー: org/xmlunit/builder/JaxbBuilder.java:108: タイプ JaxbBuilder のメソッド createInferredJAXBElement(Object) が欠落しているタイプ JAXBElement エラーを参照しています: org/xmlunit/ builder/JaxbBuilder.java:117: JAXBException を型エラーに解決できません: org/xmlunit/builder/JaxbBuilder.java:117: PropertyException を型エラーに解決できません: org/xmlunit/builder/JaxbBuilder.java:118:
JaxbBuilder
これは、クラスを処理しようとしたことを意味すると解釈します。構成に欠けているものはありますか?