以下に指定された Java ファイルに対して、この javadoc プログラムを実行する必要があります。実行すると、次のエラーメッセージが表示されます。
エラー: UTF8 エンコードのマップできない文字です
いくつかの調査の結果、特殊文字 (Java ファイルのドキュメント) が見つかったときにこのエラーが発生していることがわかりました。それらを取り除くことはできますが、それは最適な解決策ではありません。
私の質問は、Java ファイルに特殊文字が含まれているファイルを処理する方法はありますか? さまざまなecndersを使用しようとしましたが、正しいものを見つけることができません.
使用されている特殊文字 (" "、-、©、°、⌐)
public class JavaDoclet {
/** The current doc, which in this app is a single java file. */
private static RootDoc currentDoc;
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
System.out.println("==========START DOCLET=========");
String[] cmds = {"-private",
"-doclet", JavaDoclet.class.getName(),
"-docletpath", "javadocgrade",
"-encoding", "UTF-8",
"C:\\Users\\julio\\DispModel.java"};
int c = com.sun.tools.javadoc.Main.execute(cmds);
System.out.println("print c -> " + c); //Returns a 1 if it didnt get executed || processed
}
public static boolean start(RootDoc root){
currentDoc = root;
ClassDoc[] classes = currentDoc.classes();
//String tagName = "@param";
for (int i = 0; i < classes.length; i++){
System.out.println(classes[i]);
}
return true;
}