我使用getaddrinfo()
在intellij中使用Xtend。我的项目语言级别设置为Java 8,Xtend可以很好地编译为Java 8(例如使用lambda表达式)。
由于特定原因,我需要Xtend生成Java 7代码,而不更改剩余项目(Java 8)的语言级别。
在Xtend项目设置中,我可以设置语言级别,但忽略此选项。我相信它会被忽略,因为剩下的项目仍然使用JDK 8和Java 8语言级别。
是否有强制Xtend使用其他语言级别的选项?
答案 0 :(得分:0)
关于上述问题我没有太多细节,但假设项目是基于Maven,那么你可以在pom.xml中定位编译
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
答案 1 :(得分:0)
Xtend-Compiler中至少有一个bug,它可以防止交叉编译到JDK的较低版本,而不是项目类路径中的JDK。
示例:
#[ 42, 43 ].forEach[ println(it) ]
如果项目配置为在类路径中配置Java-8类,则生成的Java代码将自动使用Java-8 API ({{1默认方法forEach
,Iterable
,...)
这是任何源/目标级别设置的 idependent 。