2012-01-12 35 views
12

Tôi đang sử dụng Intellij IDEA để làm việc trên một dự án Java.Intellij IDEA: Sai tích cực trên xây dựng

Tôi nhận thấy tôi nhận được nhiều phản hồi sai khi tôi xây dựng trong Intellij, nhưng chỉ khi có các lỗi biên dịch khác - ví dụ: Tôi đã thực hiện một thay đổi và mong đợi một số lỗi biên dịch, vì vậy tôi xây dựng để tìm tất cả các lỗi. (Trong trường hợp này, tôi đã thay đổi một giao diện được sử dụng rộng rãi, và muốn trình biên dịch nắm bắt các lỗi để tôi biết được các bản sửa lỗi nào.) Ngoài một số lỗi dự kiến, Intellij báo cáo hàng trăm kết quả dương tính giả (điều này gây khó khăn cho nó) để tìm các lỗi thực - hiện tại trình biên dịch chỉ hiển thị một lỗi biên dịch chính hãng mỗi lần, vì vậy tôi phải xây dựng lại để tìm lỗi tiếp theo ...). Các lỗi biên dịch sai này không được đánh dấu - thực ra, chúng không phải là lỗi biên dịch thực. (Chúng cũng không xuất hiện nếu tôi biên dịch qua Maven.)

Lỗi phổ biến nhất là 'không thể tìm thấy lớp biểu tượng [X]', mặc dù lớp đó thường nằm trong cùng một dự án.

Tôi đã thử: - nâng cấp Intellij (từ 10.5.1 đến 10.5.2 đến 11.0.1) - hủy bỏ hiệu lực và xây dựng lại cache - khởi động lại Intellij ... nhưng tất cả hoặc không có hiệu lực.

Tôi đã tìm kiếm Intellij Bug Tracking board nhưng chưa tìm thấy bất kỳ tham chiếu nào đến điều này, vì vậy tự hỏi liệu đây có phải là lỗi người dùng hay không (nếu có, tôi cần thay đổi cài đặt nào)?

Có ai khác đã trải nghiệm bất cứ điều gì như thế này không? nếu là vậy, bạn đã sửa nó như thế nào?

+0

Tôi sẽ gọi thông báo lỗi sai a * false âm *. A * false dương * sẽ được mã mà dường như biên dịch trong IntelliJ nhưng không. Tôi đã thấy điều này theo thời gian và báo cáo lỗi cho Jetbrains, nhưng không bao giờ đủ để gây ra một vấn đề. –

+0

@amaidment: Tôi hiếm khi để lại rất nhiều lớp học trong một tiểu bang không biên dịch nhưng, quả thật vậy, tôi thấy một cái gì đó tương tự (mặc dù có thể không giống hệt nhau) kể từ khi, tốt, theo nghĩa đen năm. Ví dụ trên các ứng dụng dành cho máy tính để bàn, nơi tôi đang sử dụng trình xây dựng GUI của IntelliJ, nếu tôi chỉ có * một lớp không biên dịch và cố gắng biên dịch lại mọi thứ, tôi sẽ nhận được ** rất nhiều lỗi sau: * "... Biểu mẫu. Lớp để ràng buộc không tồn tại: ... Xem" *. Tôi nghĩ rằng về cơ bản tôi nhận được thông báo này cho mỗi GUI đơn được xây dựng bằng cách sử dụng trình xây dựng GUI của IntelliJ. Một lần nữa, như các dự án của tôi thường biên dịch, nó không phải là một vấn đề: -/ – TacticalCoder

+0

@ user988052, xin chúc mừng. Các dự án của tôi cũng thường biên dịch. Thật vậy, tôi không muốn ở trong trạng thái mã không biên dịch ... nhưng thỉnh thoảng người ta phải thực hiện thay đổi có thể gây ra nhiều lỗi biên dịch (theo chỉnh sửa của tôi, trong trường hợp này, bằng cách thay đổi một cách rộng rãi sử dụng giao diện) - đó là những lỗi biên dịch thực sự mà tôi muốn sửa, nhưng báo cáo lỗi giả mạo của Intellij có nghĩa là nó chỉ báo cáo một lỗi thực cho mỗi lần xây dựng ... – amaidment

Trả lời

3

Vấn đề như vậy có thể do cấu hình dự án không chính xác, như khi một số thư mục nguồn mô-đun được thêm vào các phụ thuộc làm thư viện gốc. Nếu bạn không thể tự tìm thấy sự cố, hãy liên hệ với bộ phận hỗ trợ hoặc gửi lỗi cho YouTrack với một dự án mẫu được đính kèm và các bước để tạo lại sự cố.

+0

Bạn có thể thêm liên kết đến nơi các lỗi như vậy được đăng không? Có lỗi tương tự đã được đăng không? – LaFayette

8

Điều này có thể là quá muộn để giúp bạn, nhưng có lẽ nó sẽ giúp người khác. Tôi đã có một vấn đề tương tự. IntelliJ phàn nàn rằng nó không thể tìm thấy một lớp biểu tượng, và lớp nó không thể tìm thấy có một biểu tượng với một chút x ở góc trên bên trái. Dấu x chỉ ra rằng lớp đã bị loại trừ khỏi quá trình biên dịch. (Tôi không biết điều đó đã xảy ra như thế nào.)

Để bao gồm tệp bị loại trừ, hãy truy cập cài đặt dự án, ví dụ: bằng cách nhấp Ctrl + Alt + S. Sau đó, bạn có thể sửa đổi danh sách được tìm thấy trong Cài đặt dự án -> Trình biên dịch -> Loại trừ, để bao gồm lại tệp bị loại trừ.

+0

Tôi sẽ tiếp tục hàng giờ tìm kiếm lý do. Có lẽ tôi đã vô tình nhấn phím Alt khi tắt lưu tệp. –

+0

Trong Mac OS, bạn phải chọn "Preferences" từ menu ứng dụng và sau đó chọn Compiler> Excludes. –

Các vấn đề liên quan