记maven编译源码版本号不正确

由于我写的java代码里面带有stream和lamda表达式的jdk8的语法,但是在使用maven编译的过程中会产生报错:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project org-solio-jvm: Compilation failure
[ERROR] /F:/Damy/workspace/learning/org-solio-jvm/src/main/java/org/solio/jvm/classloader/JarClassLoader.java:[36,41] -source 1.5 中不支持 lambda 表达式
[ERROR] (请使用 -source 8 或更高版本以启用 lambda 表达式)

这是由于maven没有正确设置编译时源码版本号和目标版本号的关系:

<profiles>
    <profile>
        <id>jdk-1.8</id>
        <activation>
            <jdk>1.8</jdk>
        </activation>
        <repositories>
            <repository>
                <id>nexus</id>
                <name>local private nexus</name>
                <!--<url>http://maven.oschina.net/content/groups/public/</url>-->
                <url>http://repo1.maven.org/maven2/</url>
            </repository>
        </repositories>
        <pluginRepositories>
            <pluginRepository>
                <id>nexus</id>
                <name>local private nexus</name>
                <!--<url>http://maven.oschina.net/content/groups/public/</url>-->
                <url>http://repo1.maven.org/maven2/</url>
            </pluginRepository>
        </pluginRepositories>
        <properties>
            <fms.dailybuild.path>F:/DayliBuild</fms.dailybuild.path>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <maven.compiler.source>1.8</maven.compiler.source>
            <maven.compiler.target>1.8</maven.compiler.target>
        </properties>
    </profile>
  </profiles>

像这样正确设置maven.compiler.source和maven.compiler.target即可

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页