Intellij Không thể giải quyết biểu tượng khi nhập khẩu


126

Vấn đề này xảy ra không liên tục cho các thư viện khác nhau và các dự án khác nhau. Khi cố gắng nhập thư viện, gói sẽ được nhận ra, nhưng tên lớp không thể được giải quyết.

Nếu trên câu lệnh nhập, tôi right-click -> Goto -> the package's declaration, tôi thấy tất cả các lớp được dịch ngược được hiển thị trong khung bên - Bao gồm những lớp tôi cần - Nếu tôi cố gắng tự động hoàn thành câu lệnh nhập, tôi nhận thấy lớp tôi cần không có trong thả xuống

Tôi đã thử vô hiệu hóa bộ nhớ cache, không hoạt động. Tôi không thể tìm thấy bất kỳ xung đột lớp nào - không có tệp jar nào khác trong đường dẫn lớp của tôi có cùng tên gói. Tôi có thể nhập lớp này vào các dự án khác.

Vui lòng xem ảnh chụp màn hình:

nhập mô tả hình ảnh ở đây

nhập mô tả hình ảnh ở đây

Bất cứ ai cũng có một đầu mối?


1
Bạn có chắc chắn rằng thư viện đã được thêm vào mô-đun? Nó có thể được thêm vào như một thư viện dự án nhưng không có trên đường dẫn mô-đun.
mkobit

có - Trong Cấu trúc dự án, thư viện được thêm dưới dạng phụ thuộc - Trên thực tế, tôi nghĩ rằng đây là một lỗi trong Intellij - Xảy ra ngẫu nhiên cho các thư viện / dự án khác nhau - Tái tạo dự án từ đầu thường sửa nó
Asaf Ebgi

Nếu mọi thứ được đề cập trong câu trả lời là đúng. đóng dự án và nhập lại. Điều này đã giải quyết vấn đề này cho tôi.
Hari Krishnan

Câu trả lời:


249

bạn có thể thử vô hiệu hóa bộ đệm và khởi động lại intellij, trong nhiều trường hợp nó sẽ giúp ích.

Tệp -> Bộ nhớ cache không hợp lệ / Khởi động lại


dự án làm sạch cũng có ích
GeRyCh

2
@GeRyCh IMHO, dọn dẹp Eclipse = Intellij Bộ đệm
ẩn không hợp lệ

Tôi cũng không làm việc. JUnit của tôi là một 'Thư viện toàn cầu'. Khi tôi xóa cái này và thêm bản phân phối JUnit5 của IntelliJ, nó sẽ hoạt động. Khi tôi chuyển đổi phụ thuộc này sang thư viện toàn cầu một lần nữa, các lỗi sẽ quay trở lại. Tôi nghi ngờ đây là một lỗi vì chuyển đổi nó sang thư viện dự án thay vì hoạt động tốt.
Mark Jeronimus

1
Cảm ơn bạn điều này đã làm việc cho tôi. Tôi mới bắt đầu sử dụng Intellij và đã rất khó chịu vì nó. Người ta không thể nhảy ra khỏi dấu ngoặc đơn, cần phải khởi động lại chương trình để nó biên dịch đúng, đây thực sự là Windows của Java IDE.
azureai

3
Tôi có vấn đề này ít nhất một lần một ngày kể từ một vài tuần. Thực sự làm tôi căng thẳng khi lập chỉ mục lại mọi thứ mất mãi mãi.
spyro

38

Có thể có nhiều lý do cho việc này. Trong trường hợp của tôi, đó là vấn đề gốc nguồn sai. Bộ nhớ cache không hợp lệ không hoạt động cùng với các giải pháp khác.

Kiểm tra nguồn gốc mô-đun của bạn.

  1. Cấu trúc dự án ( Ctrl+ Alt+ Shift+ S).

  2. Mô-đun

  3. Chọn mô-đun vấn đề của bạn.

  4. Thay đổi tab trên đầu cửa sổ "Nguồn".

  5. Loại bỏ nguồn gốc không mong muốn. Giữ một và thêm src và kiểm tra nguồn gốc trong thư mục gốc này.


1
Tôi không biết điều này có hiệu quả với một số người không, nhưng có vẻ như vậy và tôi tự hỏi lý do tại sao: thực sự đồng bộ hóa Gradle tiếp theo của bạn sẽ tạo lại tất cả các thư mục nguồn mà bạn vừa xóa.
Fran Marzoa

16

IntelliJ có vấn đề trong việc giải quyết các phụ thuộc. Hãy thử như sau:

  1. Nhấp chuột phải vào pom.xml -> Maven -> Reimport
  2. Một lần nữa Nhấp chuột phải vào pom.xml -> Maven -> Tạo nguồn và cập nhật thư mục

12

Kiểm tra phụ thuộc mô-đun của bạn.

  1. Cấu trúc dự án ( Ctrl+ Alt+ Shift+ S).
  2. Mô-đun
  3. Chọn mô-đun vấn đề của bạn.
  4. Thay đổi tab trên đầu cửa sổ "Phụ thuộc".
  5. Kiểm tra thư viện cần thiết (có thể, bạn cần thêm thư viện được chỉ định trong tab 'thư viện') hoặc mô-đun đã được liệt kê ở đây và nó có phạm vi phù hợp (chủ yếu là 'tự mãn').

12

Chạy lệnh này trong bảng điều khiển dự án của bạn:

mvn idea:idea

Làm xong. Có vấn đề này nhiều lần. Đã thử 'Bộ nhớ cache & khởi động lại không hợp lệ' và tất cả các giải pháp khác. Chạy lệnh đó hoạt động hoàn hảo với tôi. Tôi hiện đang sử dụng IntelliJ 2019.2, nhưng điều này cũng xảy ra trong các phiên bản trước và giải pháp cũng hoạt động tốt.


Btw plugin maven này không còn được duy trì
nabster

11

Tôi đã đối mặt với một vấn đề tương tự, bình luận của Mike đã giúp tôi đi theo hướng giải quyết nó.
Mặc dù thư viện cần thiết cũng là một phần của mô-đun trong dự án của tôi, nhưng nó cần thay đổi phạm vi. Trong phần phụ thuộc mô-đun, tôi đã thay đổi phạm vi thành " Biên dịch " thay vì " Kiểm tra " và hiện tại nó hoạt động tốt với tôi.


Biên dịch thay vì Test hoạt động cho tôi. Bạn có biết tại sao?
30

1
Làm thế nào để bạn làm điều này? Mike là ai?
cellepo

8

Tệp -> Bộ nhớ cache không hợp lệ / Khởi động lại hoặc xây dựng lại dự án không hoạt động với tôi.

Điều làm việc cho dự án Gradle của tôi là "Làm mới tất cả các dự án Gradle" từ tab Gradle ở góc trên bên phải của IntelliJ v2017, sử dụng nút được đánh dấu màu vàng hiển thị bên dưới:

nhập mô tả hình ảnh ở đây


Câu trả lời này đã làm công việc cho dự án Maven của tôi. Đối với IntelliJ 2018.3.4, biểu tượng vẫn giữ nguyên (mũi tên xoay màu xanh) nhưng tiêu đề chính xác của tùy chọn được gọi là 'Reimport All Maven Project'. Rất lớn đối với tác giả, thật là nhẹ nhõm khi tìm ra giải pháp chính xác cho vấn đề của bạn sau một giờ nghiên cứu
TomateFraiche

4

Tôi tìm thấy câu trả lời sau từ @ jossef-harush@ matt-leidholm hữu ích từ một liên kết khác

  • trong trình chỉnh sửa IntelliJ, nhấp vào từ khóa màu đỏ ( Integerví dụ) và nhấn ALT+ ENTER(hoặc nhấp vào biểu tượng bóng đèn)
  • chọn Setup JDKtừ menu ý định

Menu ý định của IntelliJ

  • bấm vào Configure

Hộp thoại chọn SDK dự án

  • Trong trường hợp của tôi, JDKđường dẫn không chính xác (chỉ vào /opt/jdk1.7.0_51thay vì /opt/jdk1.7.0_65)

Hộp thoại SDK cấu hình bị hỏng

  • nhấp vào ...và duyệt đến đúng JDKđường dẫn

Đã sửa cấu hình hộp thoại SDK

  • hãy xóa bộ nhớ cache

Menu tập tin IntelliJ



3

Nhấp chuột phải vào tệp pom.xml, đi đến Maven nhấp vào Reimport. Tôi đã có vấn đề tương tự và điều này làm việc cho tôi.


1

Tôi đã thử vô hiệu hóa bộ nhớ cache và khởi động lại, nhưng điều duy nhất hiệu quả với tôi là xóa sạch hoàn toàn thư mục .idea, sau đó tạo một dự án mới từ đầu.


Đây không thực sự là một giải pháp. Tôi đã từng thử nó nhưng nó không ảnh hưởng đến trường hợp của tôi.
Tung

1

Tôi cũng đã gặp lỗi này nhiều lần khi tôi cố gắng xây dựng một dự án java mới.

Dưới đây là bước làm thế nào tôi có vấn đề ngu ngốc này.

  1. Tạo một dự án trống, và tạo thư mục mới src/main/java.
  2. Tạo gói nguồn net.gongmingqm10.sketch.
  3. Sử dụng gradle wrapper, gradle ideađể xây dựng các công cụ lớp cho dự án.
  4. Thêm một số phụ thuộc trong build.gradletệp, và gradle buildnhập lại dự án.
  5. Tạo User.javaSchool.javatrong gói hiện cónet.gongmingqm10.sketch
  6. Tôi đã gặp lỗi trong khi tôi cố gắng sử dụng Trường nhập khẩu trong User.java.
  7. Intellij tiếp tục khiếu nại không thể giải quyết biểu tượng khi nhập khẩu.

Giải pháp:

Xây dựng dự án trước và đánh dấu main / java làm gốc nguồn. Tạo một thư mục mới có cùng tên net.gongmingqm10.sketch. Di chuyển tất cả các tệp từ các gói rắc rối cũ sang gói mới.

Nguyên nhân gốc rễ:

Cây thư mục của mã nguồn

Như bạn có thể thấy từ cây. Tôi có một thư mục có tên net.gongmingqm10.sketch. Nhưng cái chúng ta thực sự cần là thư mục 3 cấp: net-> gongmingqm10-> sketch

Nhưng trước khi tôi hoàn thành việc xây dựng dự án của mình ở Intellij, tôi tạo thư mục mới có tên net.gongmingqm19.sketch, nó sẽ cho tôi một thư mục thực sự với tên đó net.gongmingqm10.sketch.

Khi chúng tôi cố gắng nhập nó. Rõ ràng, làm thế nào intellij có thể nhập tệp trong thư mục weired với tên a.b.c.


Cảm ơn anh bạn, đây là vấn đề của tôi. chỉnh sửa: xây dựng ... Tôi đã sao chép từ mô-đun 1 maven sang mô-đun khác và bản sao đã làm phẳng các thư mục. Trong khi Intellij trông giống như mọi thứ đã được sắp xếp, thư mục của tôi thực tế là "abc" chứ không phải là a> b> c.
Qbert

1

@Anton Dozortsev Tôi đã bị thúc đẩy bởi một hành vi tương tự; Tôi đã kết thúc việc cài đặt lại IDE rất nhiều lần, chỉ khắc phục được sự cố sau khi xóa ứng dụng IDEA, tất cả bộ nhớ cache, tùy chọn, v.v.

Tôi đã thử tất cả các loại bước tạm thời, (như khởi động lại, không hợp lệ, xóa .idea*.imlcác tệp, và các bước khác.)

Hóa ra, vấn đề là do idea.max.intellisense.filesizecài đặt của IntelliJ . Tôi đã đặt nó thành 100KB, nhỏ hơn kích thước của người phụ thuộc của tôi, dẫn đến IntelliJ hiển thị nó là không xác định, giống như trong ảnh chụp màn hình của bạn.

Sửa chữa:

  1. Nhấp vào Trợ giúp -> Chỉnh sửa Thuộc tính Tùy chỉnh

  2. Đặt thuộc tính thành giá trị lớn hơn; mặc định là 2500KB idea.max.intellisense.filesize=2500


1

Có cùng một vấn đề cho đến khi tôi nhận thấy rằng thư mục src được đánh dấu là nguồn gốc thay vì java ! Thay đổi chỉ java (src / main / java) thành gốc nguồn đã giải quyết vấn đề của tôi nhập mô tả hình ảnh ở đây


1

Vui lòng thử File-> Đồng bộ hóa. Sau đó đóng và mở lại IntelliJ trước khi bạn vô hiệu.

Khi tôi khởi động lại. Tôi đã có hiệu lực nhưng đồng bộ hóa xóa tất cả mọi thứ sau khi khởi động lại.


0

Khởi động lại đơn giản làm việc cho tôi.

Tôi sẽ đề nghị thử trước với khởi động lại và sau đó bạn có thể chọn không hợp lệ bộ đệm.

PS: Dọn dẹp bộ đệm hệ thống sẽ dẫn đến xóa lịch sử địa phương.


0

Tôi đã có một vấn đề tương tự với dự án Maven nhập khẩu của tôi. Trong một mô-đun, nó không thể giải quyết biểu tượng khi nhập cho một phần của mô-đun khác (vâng, một phần của mô-đun đó có thể được giải quyết).

Tôi đã thay đổi "thư mục nhà Maven" thành phiên bản mới hơn đã giải quyết vấn đề của tôi.

Cập nhật: Tốt trong 1 giờ, trở lại trạng thái bị hỏng ...


0

Tôi tìm thấy nguyên nhân nguồn!

Trong trường hợp của tôi, tôi thêm một tệp jar bao gồm một số tệp nguồn java, nhưng tôi nghĩ rằng nguồn java là xấu, trong thư viện phụ thuộc Intellij Idea, nó thêm nguồn tự động, vì vậy, trong Trình chỉnh sửa, nhập BAD , CHỈ xóa mã nguồn trong " Cấu trúc dự án "->" Thư viện ", nó hoạt động với tôi.


0

Điều đã làm cho tôi là chỉnh sửa tệp gói trong thư mục .idea khi tôi vô tình thêm nguồn vào thư viện jar này và Android không thể giải quyết nó bằng cách xóa dòng nguồn như được đánh dấu trong lỗi thư viện ảnh b / m .

Sau đó, xây dựng lại các vấn đề gradle và bam giải quyết.


0

Tôi có cùng một vấn đề và lý do cho việc đó là đánh dấu không chính xác các nguồn của dự án.

Tôi đã tự tạo Nội dung gốc và không nhận thấy src/main/testthư mục đó được đánh dấu Sourcesthay vì Tests. Vì vậy, đó là lý do tại sao các lớp học thử nghiệm của tôi đã được giả định là có tất cả các thư viện thử nghiệm của họ ( JUnit, Mockito, vv) với phạm vi Compile, không thử nghiệm.

Ngay sau khi tôi đánh dấu src/main/testlà Thử nghiệm và xây dựng lại mô-đun, tất cả các lỗi đã biến mất.


0

Tôi đã có điều này gần đây khi cố gắng sử dụng Intellij để hoạt động trên NiFi, hóa ra vấn đề là NiFi yêu cầu Maven> = 3.1.0 và phiên bản mà tôi đã kiểm tra (tôi đoán mặc định của tôi) là 3.0.5. Cập nhật phiên bản Maven cho dự án đã sửa nó, vì vậy trong một số trường hợp, phiên bản Maven căn chỉnh sai có thể là một điều đáng để xem xét ... Tôi đoán nó khá bất thường nhưng nếu bạn hiểu được điều này thì có lẽ bạn đang gặp vấn đề vấn đề bất thường :)


0

Vấn đề giống nhau. Nếu các phương pháp này không hoạt động. bạn có thể thử xóa lib khỏi kho lưu trữ maven cục bộ và nhập lại vào pom.

kho mvn

Cuối cùng nó cũng ổn cho tôi.

dự án


0

file-> Project Structure-> Modules, tìm mô-đun có vấn đề, nhấp vào mô-đun và chọn Dependenciestab ở bên phải. Nhấp vào dấu cộng màu xanh lá cây, cố gắng thêm bình hoặc thư viện gây ra sự cố. Nó ổn với tôi.


0

Sau một hồi tìm kiếm, tôi phát hiện ra rằng một sự phụ thuộc bằng cách nào đó đã bị hỏng trên máy của tôi trong một dự án maven. Điều kỳ lạ là sự phụ thuộc vẫn hoạt động chính xác trong mã java được biên dịch. Tuy nhiên, khi tôi dọn dẹp và xây dựng lại bộ đệm phụ thuộc maven của mình, vấn đề đã biến mất và IntelliJ nhận ra gói. Bạn có thể làm điều này bằng cách chạy:

mvn dependency:purge-local-repository

Do đó, nguồn gốc của vấn đề của tôi không phải là IntelliJ, mà là chính nó.


0

Không có gì tôi đã thử ở trên làm việc cho tôi (không phải là tôi đã thử mọi đề nghị). Điều cuối cùng đã làm được mẹo là đổi tên lớp - Tôi chỉ cần thêm 2 vào tên lớp và tên tệp. Sau đó, tôi giải quyết tất cả các tài liệu tham khảo bằng tay. (Vì họ không được công nhận, nên việc tái cấu trúc không tự động thay đổi các tham chiếu.)

Khi "phiên bản 2" được giải quyết một cách vui vẻ ở mọi nơi, sau đó tôi có thể cấu trúc lại và xóa 2 khỏi lớp và tệp, và mọi thứ sẽ như vậy.


0

trong trường hợp của tôi, giải pháp là thêm dự án dưới dạng dự án maven, bên cạnh thực tế là tôi đã nhập dưới dạng dự án maven: P

đi tới pom.xml -> nhấp chuột phải -> thêm dưới dạng dự án maven


0

Intelli iDEA gây ra những rắc rối ngu ngốc @ lần. Goto pom.xml đơn giản, nhấp chuột phải và làm -> Maven -> Reimport.

Điều này sẽ giải quyết vấn đề.


0

Đối với phiên bản cuối cùng 2020.1.4, tôi đã phải làm như sau

View -> Maven -> Generate Sources and Update Folders For all Projects

Vấn đề đối với tôi là các thư viện không được phổ biến mvn -U clean installtừ thiết bị đầu cuối.

nhập mô tả hình ảnh ở đây


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.