IntelliJでワイルドカードを使用して生成されたクラスをインポートできません

アレクサンドルセヴェリン

GradleプロジェクトのためにEclipseからIntelliJに切り替えました。プロジェクトの構造は次のようになります。

root
├── generated_src [main] (generated sources root)
├── generated_testSrc [tests] (generated test sources root)
├── out
│   └── production
│       ├── classes
│       └── resources
└── src
    └── main
        └── java (sources root)

IntelliJは、gradle構成に基づいて次のような3つのモジュールを作成しました。

my_project (containing everything, but nothing marked as Sources)
my_project_main (containing generated_src, marked as Sources)
my_project_test (containing generated_testSrc, marked as Tests)

アノテーションプロセッサは、generate_srcフォルダーにクラスを生成するために使用され、次のようなクラスになります。

generated_src [main] (generated sources root)
└── path.to.entities
    └── MyEntity_.java
out
└── production
    └── classes
         └── path.to.entities
              └── MyEntity.java

生成されたクラスのすべての使用法は、ワイルドカード構文を使用してインポートされます。しかし、IntelliJは、インポートがout / production / classesフォルダーからのパッケージを参照していると考えており、生成されたクラスはインポートされていないようです。それは私にそれをインポートして生成するオプションを与えます:

import path.to.entities.*;
import path.to.entities.MyEntity_; <--WARNING: not used, remove?

生成されたクラスをインポートすると、パッケージはすでにワイルドカード構文でインポートされているため、インポートは未使用として表示されます。2番目のインポートを削除すると、MyEntity_がインポートされていない元の状態に戻ります。

私が試してみました:

  • ワイルドカード構文なしですべてをインポートします。動作しますが、チームコードスタイルに違反します
  • マーキングmy_project_mainのモジュールの依存関係としてMY_PROJECT示唆したように、ここに問題が残っている

生成されたクラスを正しくインポートするために、プロジェクトを正しく設定するにはどうすればよいですか?

アレクサンドルセヴェリン

アノテーションプロセッサの次の設定を更新することで問題を修正しました

  • プロダクションソースディレクトリ: " ../generated_src "
  • テストソースディレクトリ: " ../generated_testSrc "

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

「ファイルエンドポイントが構成されていません。」エミュレーターを使用してAzureストレージでファイルクライアントを使用しようとしたとき

分類Dev

新しく作成したカカオポッドからクラスをインポートできません

分類Dev

.onセレクターでワイルドカードを使用して動的に生成されたフィールドにjqueryをバインドします

分類Dev

ScalaでJavaクラスを使用してバインドされたワイルドカードを使用したコンパイルエラー

分類Dev

Gradleで生成されたjarファイルでメインクラスを検索またはロードできませんでした

分類Dev

自動化されたPowerShellスクリプトでドメインに参加できませんでした-「パスワードを更新できません」

分類Dev

Rebexライブラリを使用してパスワードで保護されたzipファイルを適切に作成できません

分類Dev

SQL Server20XX-リンクされたサーバークエリを使用してストアドプロシージャをコンパイルする場合の「暗号化はクライアントでサポートされていません」

分類Dev

クリーンインストール後、選択したパスワードを使用してログインできません

分類Dev

ワイヤレスで接続されたデバイスを介してローカルネットワークにアクセスできません

分類Dev

Pythonはソケットを使用して外部/パブリックIPアドレスをバインドできず、エラーが発生しますが、ローカルIPアドレスを使用すると、エラーは表示されません

分類Dev

「カーネルドライバがインストールされていません(rc = -1908)」がインストールされていないというエラーのため、Ubuntu 18.04.4LTSでVirtualBoxイメージを実行できません

分類Dev

Linuxカーネル3.10を更新した後、ドライバーをインストールできません

分類Dev

Linuxカーネル3.10を更新した後、ドライバーをインストールできません

分類Dev

ブートストラップできません(クラウドタイプ:localhost)-LXD / Conjure-upを使用してKubernetersクラスターをローカルにインストールするときにエラーが発生しました

分類Dev

ブートストラップできません(クラウドタイプ:localhost)-LXD / Conjure-upを使用してKubernetersクラスターをローカルにインストールするときにエラーが発生しました

分類Dev

RazorPagesコードビハインドクラスで注入されたクラスを使用できません

分類Dev

クラスはAngularモジュールではありません-ローカルでビルドされたAngularライブラリをインポートする場合のIntelliJ / Webstormでのみ

分類Dev

objectnameがワイルドカードを使用している場合、mbeanにアクセスできません

分類Dev

Ktlintはワイルドカードのインポートを許可していませんか?(IntelliJ自動インポート機能を使用)

分類Dev

データベースに保存されたユーザー名とパスワードを使用してカスタムログインページを作成しようとしていますが、このエラーを解決できません

分類Dev

VirtualBoxを再インストールしても、macOSで「カーネルドライバがインストールされていません(rc = -1908)」エラーが発生してVirtualBoxでLinuxVMを起動できません

分類Dev

キーワード「use」を使用して条件付きでクラスをインポートします

分類Dev

`./mnt '(インストールしようとしていた)を統計できません:トランスポートエンドポイントが接続されていません

分類Dev

`./mnt '(インストールしようとしていた)を統計できません:トランスポートエンドポイントが接続されていません

分類Dev

Azureポータルを介してクラウドドメインのアカウントパスワードをリセットできますか?

分類Dev

Gradleはドメインクラスからインポートされたjarをコンパイルできません

分類Dev

CloverXML形式でコードカバレッジレポートを生成しています... PHP致命的なエラー:名前がすでに使用されているため、クラスを宣言できません...

分類Dev

指定されたエンドポイントでKubernetesサービスを介してサービスにアクセスできません

Related 関連記事

  1. 1

    「ファイルエンドポイントが構成されていません。」エミュレーターを使用してAzureストレージでファイルクライアントを使用しようとしたとき

  2. 2

    新しく作成したカカオポッドからクラスをインポートできません

  3. 3

    .onセレクターでワイルドカードを使用して動的に生成されたフィールドにjqueryをバインドします

  4. 4

    ScalaでJavaクラスを使用してバインドされたワイルドカードを使用したコンパイルエラー

  5. 5

    Gradleで生成されたjarファイルでメインクラスを検索またはロードできませんでした

  6. 6

    自動化されたPowerShellスクリプトでドメインに参加できませんでした-「パスワードを更新できません」

  7. 7

    Rebexライブラリを使用してパスワードで保護されたzipファイルを適切に作成できません

  8. 8

    SQL Server20XX-リンクされたサーバークエリを使用してストアドプロシージャをコンパイルする場合の「暗号化はクライアントでサポートされていません」

  9. 9

    クリーンインストール後、選択したパスワードを使用してログインできません

  10. 10

    ワイヤレスで接続されたデバイスを介してローカルネットワークにアクセスできません

  11. 11

    Pythonはソケットを使用して外部/パブリックIPアドレスをバインドできず、エラーが発生しますが、ローカルIPアドレスを使用すると、エラーは表示されません

  12. 12

    「カーネルドライバがインストールされていません(rc = -1908)」がインストールされていないというエラーのため、Ubuntu 18.04.4LTSでVirtualBoxイメージを実行できません

  13. 13

    Linuxカーネル3.10を更新した後、ドライバーをインストールできません

  14. 14

    Linuxカーネル3.10を更新した後、ドライバーをインストールできません

  15. 15

    ブートストラップできません(クラウドタイプ:localhost)-LXD / Conjure-upを使用してKubernetersクラスターをローカルにインストールするときにエラーが発生しました

  16. 16

    ブートストラップできません(クラウドタイプ:localhost)-LXD / Conjure-upを使用してKubernetersクラスターをローカルにインストールするときにエラーが発生しました

  17. 17

    RazorPagesコードビハインドクラスで注入されたクラスを使用できません

  18. 18

    クラスはAngularモジュールではありません-ローカルでビルドされたAngularライブラリをインポートする場合のIntelliJ / Webstormでのみ

  19. 19

    objectnameがワイルドカードを使用している場合、mbeanにアクセスできません

  20. 20

    Ktlintはワイルドカードのインポートを許可していませんか?(IntelliJ自動インポート機能を使用)

  21. 21

    データベースに保存されたユーザー名とパスワードを使用してカスタムログインページを作成しようとしていますが、このエラーを解決できません

  22. 22

    VirtualBoxを再インストールしても、macOSで「カーネルドライバがインストールされていません(rc = -1908)」エラーが発生してVirtualBoxでLinuxVMを起動できません

  23. 23

    キーワード「use」を使用して条件付きでクラスをインポートします

  24. 24

    `./mnt '(インストールしようとしていた)を統計できません:トランスポートエンドポイントが接続されていません

  25. 25

    `./mnt '(インストールしようとしていた)を統計できません:トランスポートエンドポイントが接続されていません

  26. 26

    Azureポータルを介してクラウドドメインのアカウントパスワードをリセットできますか?

  27. 27

    Gradleはドメインクラスからインポートされたjarをコンパイルできません

  28. 28

    CloverXML形式でコードカバレッジレポートを生成しています... PHP致命的なエラー:名前がすでに使用されているため、クラスを宣言できません...

  29. 29

    指定されたエンドポイントでKubernetesサービスを介してサービスにアクセスできません

ホットタグ

アーカイブ