Intellij Idea編譯項目下的.java檔案時的編碼問題__資料區

來源:互聯網
上載者:User
由 《編譯.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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.