在撰寫Java時,專案會定一個Language level,來支援新的程式語法,例如有時候會這樣寫:
//注意 () -> {} 的部分 Platform.runLater(() -> { //一堆程式碼 });
當Language level等級太低時,是無法編譯這種語法的。
依我遇到的狀況為例,Language level常常都會變回5,但以上程式寫法需要8才能支援。
後來發現是pom.xml
搞的鬼,每當我對pom做編輯同步時,這些設定值就會跑掉。
所以,要在pom指定Language level即可固定住這些設定。
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> ... ... <!--新增maven.compiler的設定值--> <properties> <maven.compiler.source>8</maven.compiler.source> <maven.compiler.target>8</maven.compiler.target> </properties> ... ... </project>
這樣有修改pom
時,就不會一直改到Language level了!
-END-
發佈留言