[英]Downgrade java from version 8 to 7
我在Ubuntu上安装了Oracle的Java 1.8,因为我认为它最好,最新版本与之前的版本兼容。 但事实并非如此。 javac
1.8生成只能在java-8-oracle上运行的字节码,scala不能运行。
在升级之前我使用的是java-7-openjdk,一切都很好。 虽然我可以使用sudo update-alternatives --config java
选择我的旧虚拟机,但我还需要能够选择较旧的编译器。 我怎样才能做到这一点?
使用-target
标志为早期版本生成字节码。 例如javac -target 1.5 FooBar.java
。
没有必要降级。
至少对于Oracle的JDK(不确定OpenJDK):安装oracle-java7-set-default
或oracle-java8-set-default
包,具体取决于你想要成为系统默认的java版本。
您可以从以下网址获取: http : //ppa.launchpad.net/webupd8team/java/ubuntu (包括实际的Oracle JDK)请参阅: https : //launchpad.net/~webupd8team/+archive/java
或者,您可以在/ etc / environment中设置PATH和JAVA_HOME环境变量
也就是说,编译时可以将源和目标级别指定为1.7,这也会在使用JDK 8时生成兼容Java SE 7的字节码。但请注意,它不会检查您是否使用了Java SE中不可用的某些API 7。
出于这个原因,我建议始终使用您目标的JDK版本,而不是进行一些交叉编译(这需要一些额外的额外步骤才能正确完成)。
但请注意,您可以在系统上安装多个JDK版本。 IDE通常允许您选择在开发期间使用哪一个。
将java_home
环境变量设置为旧版本并使用它编译Java文件。 确保path变量中的java.exe
是早期版本。
编译时使用-target
标志。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.