Maven无法访问项目所有包求助(IntelliJ+OpenJDK17)
Maven无法访问项目类Package的解决方案
问题背景
开发环境:IntelliJ IDEA + OpenJDK 17.0.2
遇到的问题:Maven无法访问项目中所有类对应的package,已尝试以下操作但无效:
- 执行Invalidate Caches/Restart
- 重启电脑
- 删除.m2文件夹下的所有仓库
- 其他未记录的操作
项目pom.xml配置如下:
<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>me.iseal</groupId> <artifactId>CPit</artifactId> <version>1.0</version> <packaging>jar</packaging> <name>CPit</name> <properties> <java.version>1.8</java.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> <configuration> <source>${java.version}</source> <target>${java.version}</target> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>3.2.4</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <createDependencyReducedPom>false</createDependencyReducedPom> </configuration> </execution> </executions> </plugin> </plugins> <resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> </resource> </resources> </build> <repositories> <repository> <id>jitpack.io</id> <url>https://jitpack.io</url> </repository> <repository> <id>papermc-repo</id> <url>https://repo.papermc.io/repository/maven-public/</url> </repository> <repository> <id>sonatype</id> <url>https://oss.sonatype.org/content/groups/public/</url> </repository> </repositories> <dependencies> <dependency> <groupId>me.mrdarkness462</groupId> <artifactId>thepit</artifactId> <version>4.0</version> <scope>system</scope> <systemPath>${project.basedir}\src\main\resources\ThePit-0.6.4beta - API 4.jar</systemPath> </dependency> <dependency> <groupId>com.github.simplix-softworks</groupId> <artifactId>simplixstorage</artifactId> <version>3.2.5</version> <scope>compile</scope> </dependency> <dependency> <groupId>io.papermc.paper</groupId> <artifactId>paper-api</artifactId> <version>1.19-R0.1-SNAPSHOT</version> <scope>provided</scope> </dependency> </dependencies> </project>
排查与修复步骤
1. 修正Java版本不一致问题
当前使用OpenJDK 17,但pom.xml指定的java.version为1.8,编译插件版本也不支持高版本Java,版本不匹配会导致类加载和Package识别异常。修改pom.xml配置:
<properties> <java.version>17</java.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.11.0</version> <configuration> <source>${java.version}</source> <target>${java.version}</target> <release>${java.version}</release> </configuration> </plugin> <!-- 其他插件保持不变 --> </plugins> </build>
2. 处理system scope依赖问题
thepit依赖使用system scope,Maven不会自动将其纳入类路径,可能导致Package无法访问。解决方法:
- 执行命令将该Jar包安装到本地Maven仓库:
mvn install:install-file -Dfile=src/main/resources/ThePit-0.6.4beta - API 4.jar -DgroupId=me.mrdarkness462 -DartifactId=thepit -Dversion=4.0 -Dpackaging=jar
- 修改pom.xml中的依赖配置,移除
scope和systemPath:
<dependency> <groupId>me.mrdarkness462</groupId> <artifactId>thepit</artifactId> <version>4.0</version> <scope>compile</scope> </dependency>
3. 重新构建与导入项目
- 在IntelliJ IDEA中点击右侧Maven面板的
Reload All Maven Projects按钮 - 执行命令强制更新依赖并重新构建:
mvn clean install -U
4. 检查项目目录结构
确保Java类文件放在src/main/java目录下,Maven默认仅识别该路径下的Java源文件,若类文件存放在其他路径会导致Package无法被识别。
内容的提问来源于stack exchange,提问作者ISeal
相关产品推荐
相关产品推荐

