javadoc命令生成帮助文档错误: 编码 GBK 的不可映射字符 (0x80)

  作为一名java小白,最近在学习java基础。在cmd下,通过javadoc -d doc -author -version Xxx.java 命令生成帮助文档出现了错误:编码 GBK 的不可映射字符 (0x80)。

一、"javac -d doc -author -version Xxx.java"各个命令的作用

  javadoc:生成API帮助文档

           -d:输出文件的目标目录(你想放的地方)

        doc:跟随-d的(是你的文件路径,我这里表示当前目录下,并新建doc文件)

        -author:见名知意,生成作者(前提:自己在文档中写了@author 时空幻月)

       -version:见名知意,生成版本(前提:自己在文档中写了@version V1.0)

  当然还有输出除了默认之外的信息,这一我就不一一介绍了。

 

二、出现编码 GBK 的不可映射字符 (0x80)错误原因

  既然想生成帮助文档,中文汉字的出现是必不可少的,这个时候,编码格式就跑出来捣乱了。因为我们是通过cmd命令来生成帮助文档,而cmd是Windows系统的。关键点来了,Windows系统默认的编码格式是GBK编码,而我们常使用的IDEA、eclipse基本上都是UTF-8,所以出现了编码 GBK 的不可映射字符 (0x80)错误。

 

三、解决方法

  既然找到原因了,下面就该解决它了,解决方法很简单。让Windows使用UTF-8编码就OK了。

  格式:

    javadoc -encoding UTF-8 -d tool -author -version Method.java

 

四、运行结果

  cmd:

  javadoc命令生成帮助文档错误: 编码 GBK 的不可映射字符 (0x80)

  

  HTML

  javadoc命令生成帮助文档错误: 编码 GBK 的不可映射字符 (0x80)

  

  javadoc命令生成帮助文档错误: 编码 GBK 的不可映射字符 (0x80)

 

  javadoc命令生成帮助文档错误: 编码 GBK 的不可映射字符 (0x80)

 

 

 

 

 

 

 五、源代码(没用过,但感兴趣的可以拿去试试)

 1 import java.util.Random;
 2     /**//注意:注释这里/**必须是两个'*'号,这才能被注释文档输出来
 3     * 这是一个关于数组操作的方法类
 4     * @author 时空幻月
 5     * @version V1.0
 6     **/
 7 
 8 public class Method {
 9    /**
10    * 这是返回一个随机生成的长度度小于10的,元素小于100的数组方法
11     * @return 返回的数组
12    * */
13     public int[] randomIntArray(){
14         Random rd = new Random();
15         int[] arr = new int[rd.nextInt(10)];
16         for(int i=0;i<arr.length;i++){
17             arr[i] = rd.nextInt(100);
18         }
19         return arr;
20     }
21 
22     /**
23     * 这是一个冒泡排序方法
24     * @param arr 需要冒泡排序的方法
25     * */
26     public void bullingSort(int[] arr){
27         for(int i=0;i<arr.length-1;i++){
28             for(int j=0;j<arr.length-1-i;j++) {
29                 int temp;
30                 if (arr[j] > arr[j + 1]) {
31                     temp = arr[j];
32                     arr[j] = arr[j + 1];
33                     arr[j + 1] = temp;
34                 }
35             }
36         }
37     }
38 
39    /**
40     * 这是输出数组中的所有元素的方法
41     * @param  arr 这是要输出的数组
42     */
43     public void arrayPrint(int[] arr){
44         for(int i:arr){
45             System.out.print(i+" ");
46         }
47     }
48 }

 

 

 

 

 

 

 

 

 

 

 

 

  

上一篇:IDEA Generate JavaDoc时 控制台报错误: 编码GBK的不可映射字符


下一篇:javadoc命令