我正在使用来自Xtend-plugin的intellij中的X趋向。我的项目语言级别被设置为Java 8,X趋向编译为Java 8(例如使用lambda表达式)。
由于特定的原因,我需要X趋向生成Java 7代码,而不需要更改我剩下的项目(Java 8)的语言级别。
在X趋向项目设置中,我可以设置语言级别,但是忽略了这个选项。我认为它被忽略了,因为剩下的项目仍然使用JDK 8和Java 8语言级别。
是否有一个选项可以强制X趋向使用与源不同的(较低的)语言级别?
发布于 2016-10-09 08:56:58
crosscompiling中至少有一个错误,它防止交叉编译到比项目类路径中的更低版本的JDK。
示例:
#[ 42, 43 ].forEach[ println(it) ]如果项目配置为在类路径中包含Java-8类,则生成的Java-代码将自动使用Java-8 Java( Iterable的forEach默认方法,Consumer,.)
这取决于任何源/目标级别的设置。
发布于 2016-09-12 18:21:26
关于上面的问题,我没有太多的细节,但假设项目是基于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>https://stackoverflow.com/questions/39353242
复制相似问题