当前位置: 首页 > news >正文

Intellij Idea编译项目下的.java文件时的编码问题

Intellij Idea编译项目下的.java文件时的编码问题

原创 2015年07月22日 21:45:14
  • 10510
由 《编译.java文件时的编码问题》可知,在编译.java文件的时候,需要正确指定一个编码方案,该编码方案用于解码.java文件的字节流。
那么在使用Intellij Idea编译(假定使用javac编译工具)项目下所有的.java文件时,该如何指定正确的编码方案呢?

1)首先,我们需要知道当执行"Build"菜单下的"Make Project"命令,编译整个项目下的.java文件的时候,Intellij Idea执行的具体命令。我们可以通过以下方式获得,执行"Build"菜单下的"Generate Ant Build"命令,生成一个Ant Build File,然后通过这个Ant Build File,我们就可以得到Intellij Idea在编译整个项目的时候执行的具体命令。[1]

 

2)借助于1)中的Ant Build File,可以发现Intellij Idea在编译项目下的.java文件时,执行的具体命令是“带有各种参数的javac命令”。其中有一个"-encoding"参数,该参数就是用来指定编译.java文件时应该使用的编码方案的,如图1所示。Intellij Idea自身有一套机制,用来确定该参数的值,经过测试,该值有可能来自"Project Encoding"的配置,见图2;有可能来自某个.java文件被Intellij Idea检测到的使用的编码方案,见链接;也有可能来自图3中所示的编译器参数配置等等。具体的机制需要查阅相关文档。

                                                                                                      图1

                                                                                                                                           图2

 

                                                                                                                                        图3

 

3)由2)可得,Intellij Idea自身有一套确定"-encoding"参数值的机制,但是往往最后被确定的值不是我们想要的。而且"encoding"参数是非常重要的一个参数,为了更加准确地指定"-encoding"参数,我们可以在图3所示的编译器参数配置中明确配置"-encoding xxx"。

 

参考文献:

[1]http://stackoverflow.com/questions/2966530/can-i-see-the-exact-commands-intellij-uses-to-build-a-java-project

转载于:https://www.cnblogs.com/duanweishi/p/8344186.html

相关文章:

  • Windows上SSH服务器的配置以及客户端的连接
  • UIScrollView中使用AutoLayout
  • mysql LINESTRING ,POINT 类型操作
  • 读Git Pro2的笔记
  • Vue.js简介及指令
  • 全面分析 Spring 的编程式事务管理及声明式事务管理
  • jeesite优化
  • 统计数据库大小的方法
  • 带你走进单片机的世界——初始MCU
  • Jenkins2.32打包Unity项目的记录
  • 约瑟夫环数组简单实现
  • Python中元组、列表、字典的遍历和相互转化
  • CentOS 7安装JDK
  • Linux- 关于windows和Linux和Mac的换行符
  • 免费「模拟面试」福利反馈连载(20180128期)
  • 【跃迁之路】【735天】程序员高效学习方法论探索系列(实验阶段492-2019.2.25)...
  • Apache Zeppelin在Apache Trafodion上的可视化
  • Git同步原始仓库到Fork仓库中
  • HTML5新特性总结
  • JS+CSS实现数字滚动
  • leetcode-27. Remove Element
  • log4j2输出到kafka
  • PHP CLI应用的调试原理
  • Python socket服务器端、客户端传送信息
  • v-if和v-for连用出现的问题
  • 回流、重绘及其优化
  • 看完九篇字体系列的文章,你还觉得我是在说字体?
  • 爬虫模拟登陆 SegmentFault
  • 树莓派 - 使用须知
  • 微信开源mars源码分析1—上层samples分析
  • 想晋级高级工程师只知道表面是不够的!Git内部原理介绍
  • 一个6年java程序员的工作感悟,写给还在迷茫的你
  • 译自由幺半群
  • 云栖大讲堂Java基础入门(三)- 阿里巴巴Java开发手册介绍
  • AI算硅基生命吗,为什么?
  • 仓管云——企业云erp功能有哪些?
  • 哈罗单车融资几十亿元,蚂蚁金服与春华资本加持 ...
  • (10)工业界推荐系统-小红书推荐场景及内部实践【排序模型的特征】
  • (zt)基于Facebook和Flash平台的应用架构解析
  • (仿QQ聊天消息列表加载)wp7 listbox 列表项逐一加载的一种实现方式,以及加入渐显动画...
  • (附源码)springboot宠物管理系统 毕业设计 121654
  • (附源码)计算机毕业设计ssm-Java网名推荐系统
  • (转) Android中ViewStub组件使用
  • (转)linux下的时间函数使用
  • (转)visual stdio 书签功能介绍
  • .Net Core/.Net6/.Net8 ,启动配置/Program.cs 配置
  • .NET Framework 3.5中序列化成JSON数据及JSON数据的反序列化,以及jQuery的调用JSON
  • .net wcf memory gates checking failed
  • .net 受管制代码
  • .NET 应用架构指导 V2 学习笔记(一) 软件架构的关键原则
  • .net快速开发框架源码分享
  • .Net转前端开发-启航篇,如何定制博客园主题
  • @kafkalistener消费不到消息_消息队列对战之RabbitMq 大战 kafka
  • @Not - Empty-Null-Blank
  • @WebService和@WebMethod注解的用法