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

来源:互联网 发布:生命周期假说 知乎 编辑:程序博客网 时间:2024/06/05 17:14

由于我写的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即可

原创粉丝点击