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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)