2017-04-21 4 views
0
package com.yada.yada 

パッケージ文なしでcom.yada.yadaにJavaクラス 'ss'を作成するとIntelliJはどうなりますか? - RED "欠落パッケージ声明"。'package ..'ステートメントを持たないパッケージ構造での.ktファイルに関するIntellijの無知?どうして?

com.yada.yadaにKotlinファイルを作成するとどうなりますか? - DIフレームワークがランタイム中にあなたのデープをスキャンすることができなくなるまで仲間を続ける

なぜIJパッケージの検証はKotlinにとって必須ではないのですか?私はちょうどこれがショーストッパーであることを実感するためにパッケージスキャンの何が間違っているかを理解しようと1時間を無駄にしました。 Java 9のジグソーパズルは、Kotlinの混乱を4倍にして、警告メッセージのない不正なファイル/クラスを引き起こしますか?まあ、あなたはそれが賭ける!

Kotlinの「警告」ステートメントを元に戻してください。 P.S.登録/ログイン方法ではIntellij bugtrackerにアクセスするには十分ではありません(私は真に1回のアクセスパスワードリセット、1000のリソースと980のパスワードを思い出しません)。

誰かがこの動作を防衛しようとしている場合、理由を説明してください。たぶん私は何かが不足している、そうでなければオープンバグ(好ましくはJetBrainsからの誰か)と返信してください、私はそれを受け入れるでしょう。

+0

あなた自身でバグチケットを開くことはできませんか?それは非常に簡単です:https://youtrack.jetbrains.com/issues/KT。結局のところ、あなたはあなたの問題のすべての詳細を知っている唯一の人です。 – voddan

答えて

3

パッケージステートメントのないファイルの検査の不備はバグです。対応するYouTrackの問題はhereです。

1

私がいることをofficial documentation状態、このポストはここに適切であるわからないんだけど、実際の質問に答えるために:「パッケージが指定されていない場合、そのようなファイルの内容が に属し

デフォルトの "名前のないパッケージ"を作成します。

あなたのファイルはパッケージに一致するフォルダにある必要はないので、パッケージ宣言を持たないことはオプションでなければならないので、フォルダに整理されたファイルを持つことができますが、それらをパッケージに入れることを望みます。これは、フォルダに入れ子になっていないかのように同じパッケージを持つことができ、プロジェクトの根底にあったものです。

あなたのパッケージ宣言があなたのファイルが入っているフォルダと一致しないという警告がありますが、パッケージ宣言を完全に省略すると、これは得られません。私はこれが意図的であると仮定していると思います。

これは、IDEがデフォルトでファイルを作成したフォルダの適切なパッケージ宣言を生成するため、一般的に問題ではありません。私はあなたがIntelliJを使用している場合、あなたがルートのsrcフォルダー内ではなくパッケージのフォルダー内でそれをしない限り、パッケージ宣言なしでファイルをどのように作成したのかよく分かりません。

+0

誰も私が不平を言っているのは、Kotlinで見逃されている標準的なIJの警告です。ドミトリーはこれが彼の答えに意図的ではないことをちょうど確認しました。この問題は私が別のプロジェクトのファイルをコピーしているときに起こりました。私はこれがJavaのように自動的に行われるような基本的なものを期待しています。 – Aubergine

関連する問題