“Javac选项source和target的作用”的版本间的差异
		
		
		
		
		
		跳到导航
		跳到搜索
		
				
		
		
	
Jihongchang(讨论 | 贡献)  (建立内容为“=== 参考 === https://blog.csdn.net/gao_zhennan/article/details/124232142”的新页面)  | 
				Jihongchang(讨论 | 贡献)   (→举例)  | 
				||
| (未显示同一用户的4个中间版本) | |||
| 第1行: | 第1行: | ||
=== 参考 ===  | === 参考 ===  | ||
https://blog.csdn.net/gao_zhennan/article/details/124232142  | https://blog.csdn.net/gao_zhennan/article/details/124232142  | ||
| + | |||
| + | 同 maven 中的<syntaxhighlight lang="xml">  | ||
| + |     <properties>  | ||
| + |         <maven.compiler.source>8</maven.compiler.source>  | ||
| + |         <maven.compiler.target>8</maven.compiler.target>  | ||
| + |     </properties>  | ||
| + | </syntaxhighlight>  | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | === 举例 ===  | ||
| + | 使用 jdk 8 编译应用了 lambda 表达式的 java 8 语法的源代码文件,应用“javac -source 7”就会编译失败:<syntaxhighlight lang="java">  | ||
| + | public class Test3 {  | ||
| + | |||
| + |     public static void main(String[] args) {  | ||
| + | |||
| + |         new Thread(()->{  | ||
| + |             System.out.println(1);  | ||
| + |         }).start;  | ||
| + | |||
| + |     }  | ||
| + | |||
| + | }  | ||
| + | </syntaxhighlight><syntaxhighlight lang="powershell">  | ||
| + | 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 个警告  | ||
| + | |||
| + | </syntaxhighlight>  | ||
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 个警告