2013-04-30 77 views
3

我用gradle製作了wtp eclipse項目。 當我運行「gradle這個日食」,它使Eclipse項目,但沒有一個文件」 .settings/org.eclipse.core.resources.prefs'用gradle製作eclipse wtp項目

該文件對項目的字符集信息來源

eclipse.preferences.version=1 
encoding/<project>=utf-8 

這裏是我的gradle eclipse插件設置。

eclipse { 
classpath { 
    downloadSources=true 
} 

jdt { 
    file { 
     withProperties { 
      properties -> properties.setProperty("encoding//src/main/java", "utf-8") 
         properties.setProperty("encoding//src/main/resources", "utf-8") 
         properties.setProperty("encoding//src/test/java", "utf-8") 
         properties.setProperty("encoding//src/test/resources", "utf-8") 
     }  
    } 
} 

wtp { 
    component { 
     contextPath = '/' 
    } 

    facet { 
     facets = facets 

     //facet name: 'jst.web', version: '2.5' 
     facet name: 'jst.java', version: '6.0' 
    } 
} 

project { 
     natures 'com.google.gwt.eclipse.core.gwtNature' 
     natures 'org.springframework.ide.eclipse.core.springnature' 
     buildCommand 'org.springframework.ide.eclipse.core.springbuilder' 
} 
    } 

我該如何製作這個文件?

請幫忙。

謝謝。

回答

5

this JIRA issue

eclipseJdt << { 
    File f = file('.settings/org.eclipse.core.resources.prefs') 
    f.write('eclipse.preferences.version=1\n') 
    f.append('encoding/<project>=utf-8') 
} 
+0

謝謝!這非常有幫助。 – 2013-04-30 14:43:53

1

有提到一個解決方法(由我)對我來說,因爲我想JB Nizet的解決方案沒有奏效。配置文件出現在我明確調用「eclipse」任務時,但我希望它在導入項目後自動生成。這對我來說有什麼用:

apply plugin: 'java' 
apply plugin: 'eclipse' 

compileJava.options.encoding = 'utf-8' 

eclipse { 
    jdt { 
    sourceCompatibility = 1.8 
    targetCompatibility = 1.8 

    file { 
     File dir = file('.settings') 
     dir.mkdirs() 

     File f = file('.settings/org.eclipse.core.resources.prefs') 
     f.write('eclipse.preferences.version=1\n') 
     f.append('encoding/<project>=utf-8') 
    } 
    } 
} 


cleanEclipse << { 
    File f = file('.settings/org.eclipse.core.resources.prefs') 
    f.delete() 
} 

repositories { 
    jcenter() 
} 

dependencies { 
    testCompile 'junit:junit:4.12', 'org.hamcrest:hamcrest-all:1.3' 
} 
+0

我喜歡這個解決方案,但我會添加一個檢查org.eclipse.core.resources.prefs的存在,否則它會在每個「刷新Gradle項目」中刪除任何用戶設置時被覆蓋:if(!f.exists()) {f.write ...} – xtian 2017-06-14 13:08:42