【问题标题】:IntelliJ does not show 'Class' when we right click and select 'New'当我们右键单击并选择“新建”时,IntelliJ 不显示“类”
【发布时间】:2013-09-22 01:02:55
【问题描述】:

我们正在 IntelliJ 中创建一个新项目,一定有什么问题,因为当我们右键单击一个目录时,选择 New 然后获取上下文菜单,基于 Java 的选项没有显示。目前获取诸如文件、一些 HTML 选项、XML 选项之类的内容。

到目前为止,我们假设这是我们在项目/模块配置中没有正确配置的东西。我们正在谈论的新模块是多模块项目的一部分。我们使用 Maven 网络原型创建了它。

对配置项目性质有帮助吗?

编辑:答案是基本的: '当你意识到某些事情因为你没有点击'应用'而无法正常工作的那一刻...... :) 我们笑得很开心当我们发现这个时我们自己'

【问题讨论】:

  • 问题不是重复的,因为它比建议早了一年
  • 不是重复的,因为它是一个不同的问题和解决方案
  • 在我的情况下,包名无效。 int.project.mypackageint 不允许在包名中。

标签: java intellij-idea project


【解决方案1】:

目录或父目录之一必须标记为Source Root(在这种情况下,它显示为蓝色)。

如果不是这种情况,请右键单击您的根源目录 -> 标记为 -> 源根目录。

【讨论】:

  • 如果是你的测试目录,标记为Test Source Root(会显示为绿色)
  • “将目录标记为”在我的 Android 版本 2.1 的菜单中不可用。任何解决方法?
  • 另外,当我们有这样的结构时,intellj-idea 会自动将文件夹识别为源根目录:src/main/java
  • IntelliJ 做出了一些非常有问题的设计决策。
  • 非常有用??
【解决方案2】:

如果您打开模块设置 (F4),您可以指定哪些路径包含“源”。 Intellij 会将这些目录标记为蓝色,并允许您添加类等。

以类似的方式,您可以突出显示单元测试的测试目录。

【讨论】:

    【解决方案3】:

    您需要将您的目录标记为源根目录(右键单击父目录)

    然后编译插件(很重要)

    因此,您将能够添加课程等等

    【讨论】:

      【解决方案4】:

      如果您的包名无效,也会发生这种情况。

      例如,如果您的“包”是 com.my-company(由于破折号,这不是有效的 Java 包名称),IntelliJ 将阻止您在该包中创建 Java 类。

      【讨论】:

      • 这……这行得通。将破折号更改为下划线并立即生效。
      • 我命名了一个包枚举,这是我的问题
      • 谢谢!我尝试删除*.iml.idea,使缓存无效...我确信它首先发现了我的python 文件(我的Dockerfile 有两个脚本,它们恰好放在项目的第一个位置)并决定将我的整个项目标记为 Python 项目...
      • 就像 Arun(虽然是小写)一样,我将包名称创建为“枚举”。将其创建为“枚举”解决了这个问题。我希望它可以在新子菜单中显示“枚举”(或其他)是无效包名称的警告
      • 包名不能包含保留关键字。 com.example.package 之类的东西无效,com.example.class 也无效。
      【解决方案5】:

      Project Structure->Modules->{Your Module}->Sources->{点击src/main中名为java的文件夹}->点击蓝色按钮,img是蓝色文件夹,然后你应该看到右边的框包含新项目(源文件夹)。全部完成;

      【讨论】:

      • 谢谢!这行得通。对于搜索项目结构的新手,您可以从文件菜单中找到它或在windows中按Ctrl+Alt+Shift+S
      【解决方案6】:

      另一种可能的解决方案是项目名称不可接受。例如,创建名称中带有空格的项目不会阻止项目创建,但未标记正确的源,当手动标记这些源时,我仍然无法创建类。使用连字符 (-) 而不是空格重新创建项目可以解决我的问题。

      【讨论】:

        【解决方案7】:

        也有这个问题。使缓存/重新启动无效对我有用。请投票,以便 IntelliJ 人员更加重视这一点。这给 IDE 带来了糟糕的 UI/UX 体验。

        https://youtrack.jetbrains.com/issue/IDEA-203100

        【讨论】:

          【解决方案8】:

          还有一种情况是“Java Class”不显示,可能包名中存在一些保留字,例如:

          com.liuyong.package.案例

          com.liuyong.导入.package

          这和@kuporific 的回答一样:包名无效。

          【讨论】:

            【解决方案9】:

            大多数人已经给出了答案,但这只是为了让某人的生活更轻松。

            TL;DR

            您必须将测试文件夹添加为源。

            1. 右击被测java目录
            2. 将其标记为测试
            3. 在测试源文件夹中添加 src/test/java

            就是这样,IntelliJ 会将它们视为测试源。

            【讨论】:

            • 这个答案是回答问题还是回答其他问题?
            • Manoj 我相信您的回答有一定的内容,但您能否添加一些词来描述您在图片中试图传达的内容。我无法立即看到你想用图片说什么。
            【解决方案10】:

            我将分享另一个有趣的观点。如果您尝试使用 reserved 关键字创建包,那么它将被视为普通目录而不是包。我在创建一个名为 import 的包并将其转换为目录时遇到了这个问题。

            【讨论】:

            • 此处与“枚举”相同
            【解决方案11】:

            确保您创建的包名没有与 Java 中的预定义关键字(如 enum、int、long 等)相同。

            就我而言,我试图在“枚举”包下创建一个类。一旦我将包名称更改为“枚举”,我就可以在其中创建类。

            【讨论】:

              【解决方案12】:

              如果您刚刚创建了项目,请让 IntelliJ 完成索引您的项目。

              【讨论】:

                猜你喜欢
                • 2019-04-28
                • 1970-01-01
                • 2012-08-31
                • 1970-01-01
                • 1970-01-01
                • 2013-08-22
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多