2017-05-24 50 views
1

我想發佈一個Java庫到Bintray,並遇到一個奇怪的行爲,我從gradle.properties文件得到的字符串。性能從gradle屬性文件Groovy字符串行爲不如預期

內容文件:

testString = 'test' 

我的測試字符串行爲任務:

task weirdString { 
    println(testString) 
    println('test') 
    println(testString.class) 
    println('test'.class) 
    println(testString.equals('test')) 
} 

運行任務輸出:

'test' 
test 
class java.lang.String 
class java.lang.String 
false 

我不能完成我的頭在這附近。第一個和第二個輸出之間的差異使我的部署任務崩潰。我想這是一些內部的Groovy魔法。有人能夠啓發我嗎?

+0

你好,接受答案怎麼樣;) – AdamSkywalker

+0

哦,對不起,你可能回答太快,我不得不等待接受它。它現在應該被接受;-) –

回答

2

在屬性文件中,您不需要引號來包裝字符串。只是寫

testString=test 
+0

哦,上帝,我是如此愚蠢。非常感謝你,我已經在這裏工作了將近2個小時:/ –

+1

這是不正確的,一個人「不必使用」引號,他**不得**使用它們而不會得到意想不到的結果。 Java屬性文件中的每個條目(這與Groovy或Gradle無關)是一個字符串,分配符後面的所有內容都將添加到字符串的內容中。 –