博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Intellij Idea编译项目下的.java文件时的编码问题
阅读量:6863 次
发布时间:2019-06-26

本文共 959 字,大约阅读时间需要 3 分钟。

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

原创 2015年07月22日 21:45:14
  • 10510
由 可知,在编译.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

你可能感兴趣的文章
为代码添加权限检查
查看>>
ASP.NET MVC5+EF6+EasyUI 后台管理系统(46)-工作流设计-设计分支
查看>>
ubuntu下man帮助文档不全怎么办?如何解决?
查看>>
sql 按字段指定值排序
查看>>
--@angularJS--独立作用域scope绑定策略之@符策略
查看>>
消息队列系列(三):.Rabbitmq Trace的使用
查看>>
为什么世界上一些最好的科学家和程序员,在世人眼里,都有点不太正常,甚至行为混乱...
查看>>
C# 继承实现父类方法、重写、重载
查看>>
AssetManager asset使用
查看>>
修改科技论文的6项注意
查看>>
11gR2RAC环境DBCA创建一个数据库错误ORA-15055 ORA-15001
查看>>
也说科研的兴趣与自信
查看>>
Android适应方案汇总(三)
查看>>
执行计划的生成
查看>>
怎样战胜拖延症!
查看>>
Android 4.0屏蔽式多点触摸
查看>>
swiper超出部分出现滚动条
查看>>
数据挖掘过程中:数据预处理
查看>>
找出现有Vector或ArrayList或数组中重复的元素&给现有Vector或ArrayList或数组去重
查看>>
OS X 使用技巧——不用鼠标就能打开应用程序
查看>>