“Javac选项source和target的作用”的版本间的差异
		
		
		
		
		
		跳到导航
		跳到搜索
		
				
		
		
	
Jihongchang(讨论 | 贡献)  (→举例)  | 
				Jihongchang(讨论 | 贡献)   (→举例)  | 
				||
| 第14行: | 第14行: | ||
=== 举例 ===  | === 举例 ===  | ||
| − | 使用 jdk 8   | + | 使用 jdk 8 编译应用了 lambda 表达式的 java 8 语法的源代码文件,应用“javac -source 7”就会编译失败:<syntaxhighlight lang="java">  | 
public class Test3 {  | public class Test3 {  | ||
2023年2月1日 (三) 11:17的最新版本
参考
https://blog.csdn.net/gao_zhennan/article/details/124232142
同 maven 中的
    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>
举例
使用 jdk 8 编译应用了 lambda 表达式的 java 8 语法的源代码文件,应用“javac -source 7”就会编译失败:
public class Test3 {
    public static void main(String[] args) {
        new Thread(()->{
            System.out.println(1);
        }).start;
        
    }
}
E:\record\2023\2\1>javac -source 1.7 Test3.java
警告: [options] 未与 -source 7 一起设置引导类路径
Test3.java:5: 错误: -source 7 中不支持 lambda 表达式
        new Thread(()->{
                     ^
  (请使用 -source 8 或更高版本以启用 lambda 表达式)
Test3.java:7: 错误: 不是语句
        }).start;
          ^
2 个错误
1 个警告