java编译相关问题总结
参考: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