首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用maven编译器-pugin 2.2编译Java 11代码

用maven编译器-pugin 2.2编译Java 11代码
EN

Stack Overflow用户
提问于 2018-11-08 13:44:29
回答 1查看 11K关注 0票数 2

我试图使用maven编译器-plugin2.2编译Java 11代码,并给出以下错误:

代码语言:javascript
复制
[INFO] 2 errors 
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Compilation failure
\projects\testoldmaven\src\main\java\Main.java:[10,14] error: cannot find symbol
\projects\testoldmaven\src\main\java\Main.java:[11,8] error: cannot find symbol

我不知道原因是我做错了什么,还是问题很普遍,Maven 2根本不支持Java 11。或者有什么解决方案可以帮助我使用Maven 2编译Java 11代码呢?我试图搜索任何可以直接声明Maven 2不支持Java的可靠文章,或者运行Java 11代码所需的任何最小maven版本,或者可以使用maven-compler-plugin 2.x执行的任何最大Java版本,但是没有发现任何有用的东西。

代码本身只是一些Java 11特定片段的简单测试:

代码语言:javascript
复制
public static void main(String[] args) {
    Optional<Integer> value = Optional.empty();
    final var id = 123;
    var text = "This is the test of var & repeat\r\n";
    System.out.println(text.repeat(2));
    System.out.println(id * text.lines().count());
}

我的pom.xml看起来是这样的:

代码语言:javascript
复制
<groupId>1.0</groupId>
<artifactId>test-old-maven</artifactId>
<version>1.0-SNAPSHOT</version>
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.2</version>
            <!--<version>3.6.1</version>-->
        </plugin>
    </plugins>
</build>
<properties>
    <maven.compiler.target>1.8</maven.compiler.target>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.release>11</maven.compiler.release>
</properties>

如果有人能对我的问题有所了解,那就太好了。谢谢你提前提供帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-08 14:21:07

通过设置<maven.compiler.source>1.8</maven.compiler.source>,您实际上是将-source 1.8传递给javac编译器。

这是告诉编译器,您希望显式地将输入源代码限制为Java1.8语法和语言。由于您使用的是Java8中未定义的语言结构(例如var),它将失败。

在指定release时,source的值似乎优先。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53209009

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档