欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Eclipse Maven 项目问题: Dynamic Web Module 3.0 requires Java 1.6 or newer.

程序员文章站 2022-05-04 09:56:05
...

问题描述:
Eclipse Maven 项目问题: Dynamic Web Module 3.0 requires Java 1.6 or newer.

但是Eclipse 的编译级别并没有问题。
Eclipse Maven 项目问题: Dynamic Web Module 3.0 requires Java 1.6 or newer.

原因:
Maven maven-compiler-plugin 的编译问题。Maven 的默认编译级别是 jdk1.5 或以下。
所以,还有一个现象,就是每次右键项目名-maven->update project 时候,项目jdk版本变了,变回1.5版本。

解决方法1:
修改maven的配置(Maven安装目录的conf\setting.xml)
搜索找到profile节点。替换为下面的代码。

<profile>
    <id>jdk1.8</id>
    <activation>
        <activeByDefault>true</activeByDefault>
        <jdk>1.8</jdk>
    </activation>
    <properties>
        <!-- want to use the Java 8 language features, Default 1.5 -->
        <maven.compiler.source>1.8</maven.compiler.source>
        <!-- want the compiled classes to be compatible with JVM 1.8, Default 1.5 -->
        <maven.compiler.target>1.8</maven.compiler.target>
        <!-- Version of the compiler to use, ex. "1.3", "1.5", if fork is set to true -->
        <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
    </properties>
</profile>

解决方法2:
修改项目中的pom.xml
添加:

<build>
<plugins>
    <!--
        指定maven插件编译版本
        1:maven:since2.0, 默认用jdk1.3来编译,maven 3.x 貌似是默认用jdk 1.5。 
        2:windows默认使用GBK编码,java项目经常编码为utf8,也需要在compiler插件中指出,否则中文乱码可能会出现编译错误。 
     -->
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <!-- since 2.0 -->
        <version>3.7.0</version>
        <configuration>
            <!-- use the Java 8 language features -->
            <source>1.8</source>
            <!-- want the compiled classes to be compatible with JVM 1.8 -->
            <target>1.8</target>
            <!-- The -encoding argument for the Java compiler. -->
            <encoding>UTF8</encoding>
        </configuration>
    </plugin>
</plugins>
</build>
相关标签: maven问题