“Javac选项source和target的作用”的版本间的差异

来自姬鸿昌的知识库
跳到导航 跳到搜索
第8行: 第8行:
 
     </properties>
 
     </properties>
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 +
 +
  
  

2023年2月1日 (三) 11:11的版本

参考

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 个警告