IDEA右键新建时没有Java Class选项的解决过程
今天遇到一个比较恶心的情况,就是想要新建Java Class文件,在右击new后面的选项里找不到Java Class这一项。然后经过查询才知道怎么回事,在这里也跟大家普及一下。
1、问题描述
右键new没有javaclass选项,而是下图这个页面:

2、解决办法1(很简单)
自己建的包名为“关键字”,比如说我刚才建的包是 abstract,是关键字,不行。
只需要删了包,重建,再包后边价格下划线即可。例如 abstract_
右键new就有了。问题解决。
3、解决办法2(专业)
按步骤点
- 1.File–Project Structure
- 2.按以下步骤点。

3.右键new,就有JavaClass了

4、问题的原因(原理)
其实按以上步骤问题已经解决了,但是问题的原因是什么呢?和设置的原理是什么?接下来就是具体讨论。

如上图红圈所示,我们可以根据对项目的任意目录进行这五种目录类型标注,这个知识点非常非常重要,必须会。
Sources: 一般用于标注类似 src 这种可编译目录。有时候我们不单单项目的 src 目录要可编译,还有其他一些特别的目录也许我们也要作为可编译的目录,就需要对该目录进行此标注。只有 Sources 这种可编译目录才可以新建 Java 类和包,这一点需要牢记。Tests: 一般用于标注可编译的单元测试目录。在规范的 maven 项目结构中,顶级目录是 src,maven 的 src 我们是不会设置为 Sources 的,而是在其子目录 main 目录下的 java 目录,我们会设置为 Sources。而单元测试的目录是 src - test - java,这里的 java 目录我们就会设置为 Tests,表示该目录是作为可编译的单元测试目录。一般这个和后面几个我们都是在 maven 项目下进行配置的,但是我这里还是会先说说。从这一点我们也可以看出 IntelliJ IDEA 对 maven 项目的支持是比彻底的。Resources: 一般用于标注资源文件目录。在 maven 项目下,资源目录是单独划分出来的,其目录为:src - main -resources,这里的 resources 目录我们就会设置为 Resources,表示该目录是作为资源目录。资源目录下的文件是会被编译到输出目录下的。Test Resources: 一般用于标注单元测试的资源文件目录。在 maven 项目下,单元测试的资源目录是单独划分出来的,其目录为:src - test -resources,这里的 resources 目录我们就会设置为 Test Resources,表示该目录是作为单元测试的资源目录。资源目录下的文件是会被编译到输出目录下的。Excluded: 一般用于标注排除目录。被排除的目录不会被 IntelliJ IDEA 创建索引,相当于被 IntelliJ IDEA 废弃,该目录下的代码文件是不具备代码检查和智能提示等常规代码功能。
通过上面的介绍,我们知道对于非 maven 项目我们只要会设置 src 即可。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
- IDEA报错Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver com.mysql.jdbc.Driver爆红
- 解决IDEA启动springboot项目报错java.lang.ClassNotFoundException: javax.servlet.ServletContext
- IDEA如何对单个的java class文件打成jar包
- idea创建JAVA Class时自动生成头部文档注释的方法
- IDEA 打开java文件对应的class路径的操作步骤
- IntelliJ IDEA右键文件夹没有Java Class文件的原因及解决方法
相关文章
Java基于动态规划法实现求最长公共子序列及最长公共子字符串示例
这篇文章主要介绍了Java基于动态规划法实现求最长公共子序列及最长公共子字符串,简单描述了动态规划法的概念、原理,并结合实例形式分析了Java使用动态规划法求最长公共子序列以及最长公共子字符串相关实现技巧,需要的朋友可以参考下2018-08-08
SpringBoot中fastjson自定义序列化和反序列化的实战分享
在fastjson库中,为了提供灵活的序列化和反序列化机制,设计了一系列的扩展点,以下是在SpringBoot和SpringClould环境中对这些扩展点的详细介绍及其实战使用,通过代码示例讲解的非常详细,需要的朋友可以参考下2024-07-07
启动 Eclipse 弹出 Failed to load the JNI shared library jvm.dll
这篇文章主要介绍了有时候,新电脑上回碰到打开Eclipse时,弹出提示“Failed to load the JNI shared library jvm.dll”错误,这里给大家分享解决方案2016-08-08
Springboot自动配置与@Configuration配置类详解
这篇文章主要介绍了SpringBoot中的@Configuration与自动配置,在进行项目编写前,我们还需要知道一个东西,就是SpringBoot对我们的SpringMVC还做了哪些配置,包括如何扩展,如何定制,只有把这些都搞清楚了,我们在之后使用才会更加得心应手2022-07-07


最新评论