IntelliJを右クリックして[新規]を選択しても[クラス]が表示されない


140

IntelliJで新しいプロジェクトを作成していますが、ディレクトリを右クリックして[ 新規 ]を選択し、コンテキストメニューを表示すると、Javaベースのオプションが表示されないため、何か問題が発生する必要があります。現在、ファイル、一部のHTMLオプション、XMLオプションなどを取得しています。

これまでのところ、これはプロジェクト/モジュール構成で正しく構成されていないものであると想定しています。私たちが話している新しいモジュールは、マルチモジュールプロジェクトの一部です。Maven Webアーキタイプを使用して作成しました。

プロジェクトの性質を設定する上で何か助けになりますか?

編集:答えは基本的です: 「「適用」をクリックしていないために何かが機能しないことに気づいた瞬間... :)これを発見したとき、私たちは自分自身を大笑いしました」


3
質問が1年前に提案されているため、質問は重複していません
Crowie

3
問題と解決策が異なるため、複製ではありません
ブライアンアグニュー

1
私の場合、パッケージ名が無効でした。int.project.mypackageintパッケージ名には使用できません。
バグではない

回答:


346

ディレクトリまたは親ディレクトリの1つはSource Root(この場合、青色で表示されます)とマークされている必要があります。

そうでない場合は、ルートソースディレクトリを右クリックして、[マーク]-> [ソースルート]をクリックします。


11
それがテストディレクトリである場合は、次のようにマークしますTest Source Root(緑色で表示されます)
Arnaud Denoyelle '17 / 09/17

「Mark Directory As」は、私のバージョンのAndroidバージョン2.1のメニューでは使用できません。回避策はありますか?
シャリス

4
また、次のような構造の場合、intellj-ideaはフォルダーをソースルートとして自動的に認識します。src / main / java
zkvarz

8
IntelliJは、本当に疑わしい設計上の決定をいくつか行います。
SpacePrez '19

23

これは、パッケージ名が無効な場合にも発生する可能性があります。

たとえば、「パッケージ」がcom.my-company(ダッシュのために有効なJavaパッケージ名ではない)の場合、IntelliJはそのパッケージにJavaクラスを作成することを禁止します。


2
これ...これはうまくいった ダッシュをアンダースコアに変更すると、すぐに機能しました。
Andrew Grinder 2017年

10

ディレクトリをソースルートとしてマークする必要があります(親ディレクトリを右クリック)

プラグインをコンパイルします(重要です)

その結果、クラスなどを追加できるようになります

ここに画像の説明を入力してください

ここに画像の説明を入力してください


6

モジュール設定(F4)を開くと、「ソース」を含むパスを指定できます。Intellijはこれらのディレクトリを青でマークし、クラスなどを追加できるようにします。

同様に、単体テストのテストディレクトリを強調表示できます。


4

プロジェクト構造->モジュール-> {あなたのモジュール}->ソース-> {src / main内のjavaという名前のフォルダをクリック}->青いフォルダであるimgの青いボタンをクリックすると、右のボックスに新しいアイテムが表示されます。 (ソースフォルダ)すべて完了です。


1
ありがとう!これはうまくいきました。プロジェクト構造を検索する初心者の場合は、[ファイル ]メニューから検索するか、ウィンドウでCtrl + Alt + Shift + Sを押します。
jacobcs

3

別の考えられる解決策は、プロジェクト名が受け入れられないことです。たとえば、名前にスペースを含むプロジェクトを作成しても、プロジェクトの作成はブロックされませんが、適切なソースがマークされず、それらを手動でマークしても、クラスを作成できませんでした。スペースの代わりにハイフン(-)を使用してプロジェクトを再作成すると、問題が修正されました。


-1

この問題もありました。キャッシュ/再起動を無効にすることは私のためのトリックをしました。IntelliJの人々がこれをより真剣に受け止めるように投票してください。これはIDEに恐ろしいUI / UX体験を与えます。

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.