1
我在Eclipse中有一個包含一些JUnit模型測試的項目。在JUnit中進行編碼:Gradle vs Eclipse
其中一個測試聲明瞭一些特殊字符。它通過Eclipse(Run As
- >JUnit Test
),但在使用Gradle(clean test
)運行時失敗。
失敗:org.junit.ComparisonFailure: expected:<[ü]> but was:<[�]>
,在Gradle報告中。
我已經將tasks.withType(JavaCompile) {options.encoding = 'UTF-8}
添加到構建文件,它修復了編譯時編碼問題。但我仍然遇到運行時錯誤(請參閱上面的失敗)。
添加compileJava.options.encoding = 'UTF-8'
沒有幫助。
該測試在MacOS上運行,項目編碼從操作系統(Windows + UTF-8,在我的情況下)繼承。
是否你的java文件有UTF-8編碼? –
@StefanBirkner從容器繼承,是的。 – GGrec
我在Windows 8.1上面對類似的行爲 - 目前唯一的解決方案是在Windows中將GRADLE_OPTS = -Dfile.encoding = utf-8設置爲系統變量。但我認爲這是一個醜陋的解決方法,因爲Gradle構建腳本不應該依賴某些外部配置。 – mschenk74