4

我已经用 gradle 制作了 wtp eclipse 项目。当我运行“gradle eclipse”时,它会生成 eclipse 项目,但没有一个文件“.settings/org.eclipse.core.resources.prefs”

该文件包含项目字符集的信息

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'
}
  }

我怎样才能制作这个文件?

请帮忙。

谢谢。

4

2 回答 2

5

这个 JIRA 问题上(我)提到了一个解决方法

eclipseJdt << {
    File f = file('.settings/org.eclipse.core.resources.prefs')
    f.write('eclipse.preferences.version=1\n')
    f.append('encoding/<project>=utf-8')
}
于 2013-04-30T09:25:53.540 回答
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'
}
于 2016-02-09T21:00:28.043 回答