Tôi đã gặp một lỗi trong Eclipse. Thông báo lỗi này có nghĩa là gì:
Loại iglu.ir.TermVector không thể được giải quyết. Nó được tham chiếu gián tiếp từ các tập tin. Class yêu cầu
Tôi đã gặp một lỗi trong Eclipse. Thông báo lỗi này có nghĩa là gì:
Loại iglu.ir.TermVector không thể được giải quyết. Nó được tham chiếu gián tiếp từ các tập tin. Class yêu cầu
Câu trả lời:
Nó có nghĩa là: "Một lớp mà bạn sử dụng cần một lớp khác không có trên đường dẫn lớp." Bạn nên đảm bảo (như Harry Joy gợi ý) để thêm bình cần thiết vào đường dẫn lớp.
Đây có thể là một vấn đề của Eclipse đang bị nhầm lẫn vì đây là một lỗi thực tế. Tôi đã bỏ qua lỗi và chạy dịch vụ web có endpointInterface mà nó phàn nàn và nó chạy tốt, ngoại trừ việc phải xử lý hộp thoại mỗi khi tôi muốn chạy nó. Chỉ là một lỗi mờ đục mà không cho tôi biết gì.
Đôi khi điều đó xảy ra với tôi, tôi luôn cố định rằng với lệnh "mvn eclipse: clean" để xóa các thuộc tính cũ và sau đó chạy mvn eclipse: eclipse -Dwtpversion = 2.0 (tất nhiên đối với dự án web). Có một số thuộc tính cũ được lưu để đôi khi nhật thực bị lẫn lộn.
mvn eclipse:clean
và / hoặc mvn eclipse:eclipse
dường như là trò ảo thuật để làm cho nó hoạt động.
Tôi đã có lỗi này vì một kho lưu trữ maven cục bộ bị hỏng .
Vì vậy, để khắc phục sự cố, tất cả những gì tôi phải làm là vào kho lưu trữ của mình và xóa thư mục có .jar liên quan, sau đó buộc một update maven
trong Eclipse.
Có vẻ như đây là một vấn đề đã biết (Bug 67414) đã được giải quyết trong 3.0 ... ai đó đã nhận xét rằng nó cũng xảy ra với họ trong 3,4.
Trong lúc này, công việc xung quanh là xóa Thư viện hệ thống JRE khỏi dự án và sau đó thêm lại.
Here are the steps:
Chuyển đến thuộc tính của dự án với lỗi xây dựng (nhấp chuột phải> Thuộc tính)
Xem tab "Thư viện" trong phần "Xây dựng đường dẫn"
Tìm "Thư viện hệ thống JRE" trong danh sách (nếu thiếu thì thông báo lỗi này không phải là lỗi nhật thực mà là một dự án được cấu hình sai)
Xóa "Thư viện hệ thống JRE"
Nhấn "Thêm thư viện ...", chọn "Thư viện hệ thống JRE" và thêm JRE thích hợp cho dự án (ví dụ: 'JRE mặc định không gian làm việc')
Nhấn "Kết thúc" trong lựa chọn thư viện và "OK" trong thuộc tính dự án và sau đó chờ xây dựng lại dự án
Hy vọng lỗi sẽ được giải quyết ...
Lỗi này xảy ra khi các lớp trong tệp jar không tuân theo cùng cấu trúc như cấu trúc thư mục của tệp jar ..
ví dụ: nếu tệp lớp của bạn có gói com.test.exam và các lớp.j.j được tạo ra từ tệp lớp này có cấu trúc test.exam ... lỗi sẽ bị ném. Bạn cần sửa cấu trúc gói của class.jar và sau đó đưa nó vào đường dẫn xây dựng nhật thực ...
Tôi đã có một trường hợp thú vị về vấn đề này với Eclipse 4.4.2. Dự án của tôi (P1) đã tham chiếu một lớp bên ngoài (dự án P2) với hai phương thức có cùng tên nhưng các loại đối số khác nhau:
public static void setItem(Integer id) …
public static void setItem(Item item) …
Loại Item
này được chứa trong dự án thứ ba P3, mà tôi không muốn thấy ở đây. P1 chỉ gọi phương thức đầu tiên:
ExternalClass.setItem(Integer.valueOf(12345));
Vì vậy, phương thức thứ hai, sử dụng Item
lớp, không được sử dụng và đúng là P3 không có trong đường dẫn biên dịch - tại sao nó không được sử dụng.
Vẫn còn Eclipse nói với tôi
The type ...Item cannot be resolved.
It is indirectly referenced from required .class files
Biên dịch từ dòng lệnh không tạo ra bất kỳ vấn đề như vậy. Việc thay đổi tên của phương thức thứ hai (không được sử dụng ở đây!) Cũng khiến vấn đề biến mất trong Eclipse.
Tôi đã gặp lỗi khi tôi chỉ thay đổi một số cài đặt svn và không có gì trong mã. Chỉ cần làm sạch các dự án đã sửa lỗi.
Trong trường hợp của tôi, tôi đã tạo ra một dự án và thực hiện nó minSdkVersion=9
và targetSdkVersion=17
. Tôi đã sử dụng tự động tạo ra libs/android-support-v4.jar
. Tôi cũng đã phải sử ActionBarActivity
dụng android-support-v7-appcomapt.jar
. Vì vậy, tôi chỉ sao chép android-support-v7-appcompat.jar
tệp từ android-sdk/extras/andrid/support/v7/appcompat/libs
thư mục và dán nó vào libs
thư mục dự án của tôi . Và điều này gây ra lỗi trên. Vì vậy, về cơ bản, tôi cần phải đặt android-support-v4.jar
tập tin từ thư mục android-sdk/extras/andrid/support/v7/appcompat/libs
dự án của tôi libs
. Theo hiểu biết của tôi, v7.jar
tập tin có phụ thuộc vào v4.jar
tập tin. Vì vậy, nó cần v4.jar
tập tin riêng của nó , thay vì dự án của tôi, tự động tạo v4.jar
tập tin.
Nhanh chóng và đơn giản là tôi đã sửa nó theo cách này (Tôi sử dụng phiên bản ADT: v21.0.0-5 31062 trên phiên bản Windows XP)
Nó hoạt động NHƯNG vấn đề trở lại cứ sau vài ngày. Tôi làm tương tự như trên và nó giải quyết và cho phép tôi phát triển.
Ngoài nguyên nhân đã được đề xuất là thiếu tệp lớp, lỗi này cũng có thể chỉ ra tệp lớp trùng lặp, nhật thực báo cáo lỗi này khi tệp lớp trên đường dẫn xây dựng sử dụng một lớp khác có nhiều định nghĩa trong đường dẫn xây dựng.
Vì bạn cung cấp cho chúng tôi rất ít chi tiết, rất có thể những gì bạn đã làm, đó là một sai lầm cực kỳ dễ mắc phải, đó là thay vì hướng đến
Build Path > Configure Build Path > Projects
và thêm thư mục dự án bổ sung của bạn từ đó, thay vào đó bạn đã đi đến
Build Path > Configure Build Path > Libraries
và thêm thư mục dự án của bạn từ đó thay vào đó.
Đây là trường hợp chắc chắn nhất nếu mã của bạn hoàn toàn chính xác, nhưng khi tự động sắp xếp lại nhập thông qua ctrl+space
phím tắt, thay vì các câu lệnh nhập của bạn đề cập đến com.your.additableproject, tất cả các tham chiếu của bạn đều trỏ đến bin.com.your.additableproject.
Lưu ý thùng. Có nghĩa là bạn - gián tiếp tham chiếu đến lớp của mình bằng cách coi cấu trúc thư mục dự án khác của bạn như một thư viện, làm cho IDE của bạn thực hiện tất cả các công việc tìm kiếm lớp nhị phân chính xác mà bạn đang đề cập.
Để sửa lỗi này, hãy xóa thư mục khỏi Thư viện và thay vào đó thêm nó vào tab Dự án và sắp xếp lại việc nhập của bạn. Dự án của bạn nên hoạt động tốt.
Khi tôi sử dụng phiên bản nhật thực mới và thử sử dụng không gian làm việc trước đó mà tôi đã sử dụng với phiên bản nhật thực cũ, đã xảy ra lỗi này.
Đây là cách tôi giải quyết vấn đề:
Nhấp chuột phải vào dự án của tôi trên Gói Explorer -> Thuộc tính -> Đường dẫn xây dựng Java -> Thư viện -> Tôi thấy một lỗi (Dấu chéo) trên Thư viện hệ thống JRE. Bởi vì đường dẫn không thể được tìm thấy. -> Nhấp đúp vào Thư viện hệ thống JRE -> Chọn tùy chọn "JRE mặc định không gian làm việc" -> Kết thúc -> OK. -> BUM IT ĐANG LÀM VIỆC
FYI.
Trong trường hợp của tôi, đó là kết quả của việc tôi thêm một phụ thuộc mới vào pom.xml
tệp của mình .
Sự phụ thuộc mới phụ thuộc vào một phiên bản cũ của thư viện (2.5). Thư viện đó cũng được yêu cầu bởi một thư viện khác trong tôi pom.xml
, nhưng nó yêu cầu phiên bản 3.0.
Vì một số lý do, khi Maven gặp phải những xung đột này, nó chỉ đơn giản là bỏ qua phiên bản mới nhất. Trong Eclipse khi xem, pom.xml
bạn có thể chọn tab "phân cấp phụ thuộc" ở phía dưới để xem cách giải quyết các phụ thuộc. Ở đây bạn sẽ tìm thấy nếu thư viện (và do đó lớp) trong câu hỏi đã bị bỏ qua vì lý do này.
Trong trường hợp của tôi, nó đơn giản như việc khóa phiên bản mới hơn. Bạn có thể làm như vậy bằng cách nhấp chuột phải vào mục - có một tùy chọn để khóa nó trong menu ngữ cảnh.
Trỏ JRE trong đường dẫn Build tới JDK. Điều đó làm việc cho tôi.