参考:http://jingyan.baidu.com/article/5bbb5a1b080f6113eba179f0.html

1、在linux下生成的class文件/jar包,拿到windows下可以直接使用,无需重新编译。

 

2、Linux文件拿到windows下编译时提示错误  “编码GBK的不可映射字符”  的解决办法。

linux的java文件格式为UTF-8

windows的java文件格式为ANSI(GBK)

 

所以linux里编辑的文件.java里含有中文时(即使在注释里),拿到windows里编译便会出错,提示“错误:编码GBK的不可映射字符”。将.java文件转换成windows默认识别的ANSI格式,问题立马解决,可以编译通过。

windows里编辑的.java文件拿到linux下编译会出现同样问题。

 

然而,大工程不可能对上千个文件逐个转码,因此必须找到解决办法。

 

解决办法便是:

无论是windows还是Linux,都是用以下办法:         在编译时添加参数-encoding gbk即可解决。-encoding 后边的参数是指   .java文件的编码格式

如果Hello.java是windows编辑的,则格式是ANSI,拿到linux里编译需指定 -encoding  GBK(小写也可以)格式

javac    -d    .    -encoding    gbk    Hello.java

 

如果Hello.java是linux编辑的,则格式是UTF-8,拿到windows里编译需指定 -encoding   UTF-8(小写也可以)格式

javac    -d    .    -encoding    UTF-8    Hello.java