Idea Project文件目录不见了,只剩External Libraries 和 **imi文件

本文讲述了在IntelliJ IDEA中遇到模块编译路径错误的解决过程,重点介绍了如何通过Project Structure调整模块路径,以及常见报错原因——修改JDK版本后导致。提供了一步操作指南和实用建议,帮助开发者快速解决问题。

问题:idea报错Module “GitCGBIV2103Projects” must not contain source root “D:\JT-SOFT\GIT\GitCGBIV2103Projects\01-jt”. The root already belongs to module “01-jt”

问题:**Idea Project文件目录不见了,只剩External Libraries 和 imi文件

场景:左侧父工程项目不见,不知道设置修改了什么之后,不显示,如下图所示**
在这里插入图片描述

解决方案:

此处点击视图打开Project Structure~选中Modules 如下图所示
在这里插入图片描述
点击Apply同意保存即可
工程目录已显示(如下图所示)

在这里插入图片描述
接着可以打开工程项目查看
在这里插入图片描述

总结Summary:
idea报错不要慌,直接百度,csdn
组合键查询*,以上是idea里修改模块编译路径的解决方案,产生报错原因通常是修改jdk版本语言,覆盖版本号之后产生的报错信息,未修改保存回原路径
tips:多细心检查代码,能解决百分之七十的bug*

### Java External Libraries vs WEB-INF/lib 目录的区别 在 Java 开发中,`External Libraries` `WEB-INF/lib` 是两个常见的术语或目录,它们各自有特定的用途作用范围。以下是两者的详细对比: #### 1. **定义与作用范围** - **External Libraries** `External Libraries` 是一个概念性的术语,通常用于描述项目中引用的所有外部依赖库。这些库可以是 JAR 文件、SO 文件(动态链接库)或其他形式的库文件。在 IDE(如 IntelliJ IDEA 或 Eclipse)中,`External Libraries` 是一个虚拟目录,显示了项目中所有已添加的依赖项[^1]。它可能包括 Maven 或 Gradle 等构建工具管理的依赖项,或者手动添加的库文件。 - **WEB-INF/lib** `WEB-INF/lib` 是 Java Web 应用程序中的一个特定目录,位于 WAR 文件结构中。该目录专门用于存放 Web 应用程序运行时所需的 JAR 文件。这些 JAR 文件仅对当前 Web 应用程序可见,不会影响其他应用程序或服务器全局环境[^2]。 #### 2. **适用场景** - **External Libraries** `External Libraries` 可以用于任何类型的 Java 项目,包括桌面应用程序、命令行工具、Web 应用程序等。它是一个更广泛的概念,涵盖了项目中所有可能使用的外部依赖项。例如,在使用 Maven 或 Gradle 构建的项目中,`External Libraries` 包括通过 `pom.xml` 或 `build.gradle` 文件引入的所有依赖项[^3]。 - **WEB-INF/lib** `WEB-INF/lib` 仅适用于基于 Servlet 的 Java Web 应用程序。它的主要作用是为 Web 应用程序提供隔离的类路径环境,确保每个应用程序的依赖项不会相互干扰。例如,如果多个 Web 应用程序部署在同一台服务器上,每个应用程序都可以在自己的 `WEB-INF/lib` 目录中包含不同的版本的同一个库[^4]。 #### 3. **依赖管理方式** - **External Libraries** 在现代开发中,`External Libraries` 通常由构建工具(如 Maven 或 Gradle)自动管理。开发者只需在配置文件中声明依赖项,工具会自动下载并将其添加到项目的类路径中。此外,IDE 会将这些依赖项显示为 `External Libraries`,方便开发者查看调试[^5]。 - **WEB-INF/lib** `WEB-INF/lib` 中的 JAR 文件通常是手动添加的,或者通过构建工具(如 Maven 或 Gradle)打包到 WAR 文件中。这些 JAR 文件会在应用程序部署时被加载到类路径中。需要注意的是,`WEB-INF/lib` 中的依赖项仅对当前 Web 应用程序可见,无法被其他应用程序或服务器全局环境使用[^6]。 #### 4. **类加载机制** - **External Libraries** 在非 Web 应用程序中,`External Libraries` 的类加载机制取决于项目的构建运行方式。例如,在使用 Maven 或 Gradle 的项目中,依赖项会被添加到项目的类路径中,并由应用的主类加载器加载。 - **WEB-INF/lib**Java Web 应用程序中,`WEB-INF/lib` 中的 JAR 文件由 Web 容器的类加载器加载。每个 Web 应用程序都有自己的类加载器,因此 `WEB-INF/lib` 中的类不会与其他应用程序共享[^7]。 #### 5. **示例代码** 以下是一个简单的 Maven 配置示例,展示如何将依赖项添加到 `External Libraries` `WEB-INF/lib` 中: ```xml <dependencies> <!-- 添加一个外部依赖 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>5.3.10</version> </dependency> </dependencies> ``` 当构建 WAR 文件时,Maven 会自动将上述依赖项打包到 `WEB-INF/lib` 目录中。 #### 6. **总结** - `External Libraries` 是一个更广泛的概念,涵盖项目中所有外部依赖项,通常由构建工具管理。 - `WEB-INF/lib` 是 Java Web 应用程序中的特定目录,用于存放 Web 应用程序运行时所需的 JAR 文件,具有隔离性。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值