在 IntelliJ IDEA 中使用 Java 8 和 Maven 3.6.1 是非常稳定的组合(Java 8 不涉及 JDK 9+ 的模块系统,兼容性更好)。以下是详细的配置步骤、常见问题解决及最佳实践,确保项目编译和运行正常:
一、环境配置前提
-
安装 Java 8 :确保本地已安装 JDK 8(推荐 Oracle JDK 8 或 OpenJDK 8),并正确配置
JAVA_HOME(指向 JDK 8 安装目录)。验证:终端执行java -version,输出包含1.8.x版本信息。 -
安装 Maven 3.6.1 :从 Maven 官网 下载 3.6.1 版本,解压后配置
MAVEN_HOME环境变量,并将$MAVEN_HOME/bin加入PATH。验证:终端执行mvn -v,输出Apache Maven 3.6.1及正确的 Java 8 路径。 -
IntelliJ IDEA 版本:建议使用 2018.3 及以上版本(对 Java 8 和 Maven 3.6.1 支持更完善)。
二、IDEA 项目配置步骤
1. 配置 IDEA 全局 JDK(确保默认使用 Java 8)
- 打开 IDEA →
File → New Projects Setup → Structure for New Projects(或旧版本File → Other Settings → Default Project Structure)。 - 在
Project Settings → Project → SDK中,点击Add SDK → Download JDK,选择Version: 1.8,下载并应用(或选择本地已安装的 JDK 8 路径)。 - 确保
Project language level设为8 - Lambdas, type annotations etc.(与 Java 8 匹配)。
2. 配置 IDEA 中的 Maven 版本(指定 3.6.1)
- 打开 IDEA →
File → Settings(Windows/Linux)或IntelliJ IDEA → Settings(Mac)。 - 进入
Build, Execution, Deployment → Build Tools → Maven。 - 在
Maven home path中,选择本地安装的 Maven 3.6.1 解压目录(不建议使用 IDEA 捆绑的 Maven,避免版本不一致)。 User settings file选择 Maven 的settings.xml路径(通常在~/.m2/settings.xml或Maven安装目录/conf/settings.xml),建议勾选Override强制使用指定文件。- 点击
Apply保存配置。
3. 项目 pom.xml 核心配置(适配 Java 8 和 Maven 3.6.1)
确保 maven-compiler-plugin 配置与 Java 8 匹配,且依赖版本兼容 Java 8:
xml
<?xml version="1.0" encoding="UTF-8"?>
<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>
<groupId>com.zbkj</groupId>
<artifactId>crmeb-common</artifactId>
<version>1.0.0</version>
<!-- 配置 Java 版本为 1.8 -->
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<!-- 配置 maven-compiler-plugin(3.6.1 兼容 Java 8) -->
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.1</version> <!-- 与本地 Maven 版本一致或兼容 -->
<configuration>
<!-- 显式指定 JDK 1.8,与 properties 中的配置呼应 -->
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
<!-- 若使用 Lombok 等注解处理器,需添加以下配置 -->
<annotationProcessorPaths>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.20</version> <!-- Lombok 1.18.x 兼容 Java 8 -->
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
</plugins>
</build>
<!-- 依赖示例(确保依赖兼容 Java 8) -->
<dependencies>
<!-- Lombok(Java 8 推荐 1.18.20,避免过高版本可能的兼容问题) -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.20</version>
<scope>provided</scope>
</dependency>
<!-- 其他依赖(如 Spring、MyBatis 等,选择支持 Java 8 的版本) -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.3.20</version> <!-- Spring 5.x 兼容 Java 8 -->
</dependency>
</dependencies>
</project>
三、常见问题解决
1. 编译错误:java: 错误: 不支持发行版本 5(或更高版本)
- 原因:IDEA 项目的编译版本未正确设置为 Java 8。
- 解决:
- 打开项目结构:
File → Project Structure → Project,确保Project SDK为 Java 8,Project language level为8。 - 进入
Modules → Sources,将Language level设为8。 - 进入
Settings → Build, Execution, Deployment → Compiler → Java Compiler,在Project bytecode version中选择1.8,并确保下方模块的Target bytecode version均为1.8。
- 打开项目结构:
2. Lombok 注解不生效(如 @Data 未生成 get/set 方法)
- 原因:IDEA 未安装 Lombok 插件或未启用注解处理。
- 解决:
- 安装 Lombok 插件:
Settings → Plugins,搜索Lombok并安装,重启 IDEA。 - 启用注解处理:
Settings → Build, Execution, Deployment → Compiler → Annotation Processors,勾选Enable annotation processing。
- 安装 Lombok 插件:
3. Maven 依赖下载失败(如 Could not resolve dependencies)
- 原因:Maven 镜像源配置问题或网络问题。
- 解决:
-
配置国内镜像(如阿里云):在
settings.xml中添加:xml
<mirrors> <mirror> <id>aliyunmaven</id> <name>阿里云公共仓库</name> <url>https://maven.aliyun.com/repository/public</url> <mirrorOf>central</mirrorOf> </mirror> </mirrors> -
清理本地仓库缓存:删除
~/.m2/repository中对应依赖的目录,重新执行mvn clean install -U。
-
4. IDEA 中 Maven 命令执行失败(如 mvn compile 无响应)
- 原因:IDEA 与 Maven 3.6.1 的进程通信问题,或 JDK 路径配置错误。
- 解决:
- 检查
Settings → Maven → Runner,确保JRE选择项目使用的 Java 8(与Project SDK一致)。 - 尝试在终端(而非 IDEA 内置终端)中进入项目目录,直接执行
mvn compile,排查是否为 IDEA 自身问题。
- 检查
四、最佳实践
- 版本一致性 :确保
JAVA_HOME、IDEA 中的 JDK 配置、pom.xml中的source/target三者均指向 Java 8,避免版本混杂。 - 依赖兼容性:选择明确支持 Java 8 的依赖版本(如 Spring 5.x、MyBatis 3.5.x、Lombok 1.18.x),避免使用仅支持 JDK 9+ 的库。
- 定期更新插件:IDEA 的 Lombok 插件、Maven 集成插件保持最新,减少工具链兼容问题。
- 缓存管理 :定期清理 Maven 本地仓库(
~/.m2/repository)和 IDEA 缓存(File → Invalidate Caches...),避免旧缓存导致的异常。
通过以上配置和检查,Java 8 + Maven 3.6.1 在 IDEA 中可以稳定运行,尤其适合维护基于 Java 8 的旧项目(如你提到的 crmeb-common)。如果遇到具体编译错误,可结合错误日志定位到某类依赖或配置,针对性调整即可。