如何用maven将java8写的代码编译为java6平台的?
项目本身使用了java8的一些新特性,比如lambda,方法引用等
但是想让代码在java6平台执行
pom.xml 里面的编译配置如下:
但是生成的class版本仍然是jdk1.8版本的头信息
如何才能生成可以在java6环境下的包?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
一、想要class版本号降低,把target改成1.6即可
二、但lambda等jdk8的新特性代码又是无法用1.6编译成功的。
所以如果想用jdk8新特性还是得在jdk8的平台上跑。
额?,请恕maven大法无奈。maven不是也需要JAVA Path才能运行么。
idea的话还需要修改Project Structure(打开快捷键 Ctrl+Shift+S),修改language level
另外,如果你使用了java8的特性,language level降为6,编译是无法通过的
这个maven是无法办到的。
你的开发机上安装的是1.8,正式环境安装的1.6的话,可以把该项目的Java编译版本设置为1.6,eclipse和idea都有这功能,这样就不会出问题了。
当然lambda也用不了了……
如果是用了Java8的语言新特性,那么Java6是无法识别的,会编译失败的。