Grails Grails.project.target.level配置没有效果?
如何将groovy源代码编译成java 1.8字节码? 我使用的是Grails2.5.4、Java1.8.0\u74 这里我可能遗漏了一些明显的内容,但Grails BuildConfig.groovy中的以下设置似乎不会影响为groovy源文件生成的Java字节码 主要版本49=Java1.5,52=Java1.8(引用:) 然后检查字节码版本:Grails Grails.project.target.level配置没有效果?,grails,groovy,groovyc,Grails,Groovy,Groovyc,如何将groovy源代码编译成java 1.8字节码? 我使用的是Grails2.5.4、Java1.8.0\u74 这里我可能遗漏了一些明显的内容,但Grails BuildConfig.groovy中的以下设置似乎不会影响为groovy源文件生成的Java字节码 主要版本49=Java1.5,52=Java1.8(引用:) 然后检查字节码版本: $ javap -verbose target/classes/MyGroovy.class | grep major (standard inpu
$ javap -verbose target/classes/MyGroovy.class | grep major
(standard input):7: major version: 49
$ javap -verbose target/classes/MyJava.class | grep major
(standard input):7: major version: 52
$ javap -verbose target/classes/UrlMappings.class | grep major
(standard input):7: major version: 49
$ javap -verbose target/classes/BootStrap.class | grep major
(standard input):7: major version: 49
因此,基于上述结果,似乎target.level=bla配置确实影响Java源代码,但不影响Groovy
我的测试设置:
- Vanilla grails 2.5.4应用程序:“grails创建应用程序foo”
- 添加了一个java源文件和一个groovy。放置在foo/src中/*
- 修改BuildConfig.groovy并将目标/源代码级别设置为“1.8”,而不是默认的“1.6”
- 这些都是步骤。非常简单
我的源代码:
class MyJava {
String name;
int age;
public static String foo() { return "java!"; }
}
而且
class MyGroovy {
def name
def age
static foo() { 'groovy!' }
}
这些是我的(Groovy | Java)插件还是直接来自您的源代码?它们直接来自我自己的代码。我用更多的信息更新了这篇文章,使一切都变得非常清楚。过来看
class MyGroovy {
def name
def age
static foo() { 'groovy!' }
}