如何在Gradle和Eclipse之间同步Java源和目标?

时间:2019-01-18 03:39:28

标签: java eclipse gradle build

Gradle具有源兼容性和可以设置的targetCompatability变量。 Eclipse具有JDK兼容性,生成的类文件兼容性以及源代码兼容性。

有没有办法自动设置另一个?理想情况下,Gradle的设置应从Eclipse设置。

编辑:这些东西似乎存储在:org.eclipse.jdt.core.prefs

edit2:它们看起来像:

  

D:\ ray \ dev \ conradapps \ printg> cat .settings \ org.eclipse.jdt.core.prefs   eclipse.preferences.version = 1   org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode =已启用   org.eclipse.jdt.core.compiler.codegen.methodParameters =不生成   org.eclipse.jdt.core.compiler.codegen.targetPlatform = 1.8   org.eclipse.jdt.core.compiler.codegen.unusedLocal =保留   org.eclipse.jdt.core.compiler.compliance = 11   org.eclipse.jdt.core.compiler.debug.lineNumber =生成   org.eclipse.jdt.core.compiler.debug.localVariable =生成   org.eclipse.jdt.core.compiler.debug.sourceFile =生成   org.eclipse.jdt.core.compiler.problem.assertIdentifier =错误   org.eclipse.jdt.core.compiler.problem.enumIdentifier =错误   org.eclipse.jdt.core.compiler.release =已禁用   org.eclipse.jdt.core.compiler.source = 1.8

我可以使其工作如下,但这是一个技巧:)

library(dplyr)

Data2 %>%
  filter(!is.na(end.time)) %>%
  bind_rows(Data2) %>%
  arrange(ID)

#    ID start.time end.time EVENT
#1  aaa       <NA>    21:00     1
#2  aaa       <NA>    17:00     1
#3  aaa       <NA>    21:00     1
#4  aaa       <NA>    17:00     1
#5  aaa      13:00     <NA>     2
#6  bbb      12:00    15:00     2
#7  bbb       <NA>    23:00     3
#8  bbb      12:00    15:00     2
#9  bbb       <NA>    23:00     3
#10 ccc      09:00     <NA>     4

1 个答案:

答案 0 :(得分:0)

是的。从Gradle 5.1.1开始,如果您希望Gradle将配置提供给Eclipse,只需添加:

sourceCompatibility = '1.7'
targetCompatibility = '1.8'

到build.gradle文件。请注意,在Java 10之前,枚举分别为1.8、1.9、1.10,但从Java 11和更高版本开始,枚举为11、12等。请检查Gradle docs。 如果您偶然发现了这个answer:对我来说,在Gradle 5.0中,java版本可以使用带引号或不带引号(1.8或'1.8'),并且在最新版本的javadocs中进行了指定。在compileJava {}内部和外部添加时,它也可以工作。我在多项目构建中对此进行了测试。

我不确定Eclipse到Gradle的配置转移。难道不是应该反其道而行之吗? Gradle是中央配置工具,用于配置构建过程以及所使用的任何IDE(您或您的协作者)。即使有可能,Gradle也会操纵.classpath和其他Eclipse文件。因此,可以肯定的是,如果这是关键点,我希望将配置添加到Gradle中,并使其处理Eclipse或任何其他IDE的文件。