2013-04-03 24 views
36

Mam dynamiczny projekt internetowy, nad którym pracuję, aby przeprowadzić migrację aplikacji jsp/servlet z JRun na Tomcat.Błąd Eclipse ... nie można rozwiązać na typ

Otrzymuję komunikat o błędzie: com.ibm.ivj.eab.dab.DatastoreJDBC nie można rozstrzygnąć na typ.

Mam pliki * .class umieszczone w folderze com/ibm/ivj/eab/dab (dokładnie tak, jak je znalazłem). Próbowałem już utworzyć plik jar i dodając go do ścieżki budowania poprzez "Add External Jar", próbowałem także dodać "External Class Folder" i wskazałem folder zawierający katalog "com".

Mimo to błąd nadal występuje. Dziwne jest to, że jeśli zacznę pisać nazwę pakietu, zaćmienie faktycznie spowoduje automatyczne ukończenie klasy! (zdjęcie poniżej). Wszelkie pomysły będą mile widziane. Może klasy zostały skompilowane na znacznie starszą wersję Java i to powoduje problemy? Może jest coś, co muszę zrobić, aby zapewnić, że klasy znajdą się w katalogu WEB-INF/lib?

I enter image description here

+0

Czy w twoim kodzie znajduje się instrukcja importu dla klasy? –

+0

@ChrisGerken nie mogę tak po prostu dodać <% @ page import = "com.ibm.ivj.eab.dab. *" %> Do góry (jest to strona JSP), a także <% @ page import = "com .ibm.ivj.eab.dab.DatastoreJDBC "%> Co ciekawe, Eclipse nie ma nic przeciwko pierwszemu importowi, ale drugi z nich jest błędem. – mikey

Odpowiedz

36

prawym przyciskiem myszy nazwę projektu. Kliknij właściwości. Kliknij Ścieżka budowania Java. Kliknij Dodaj folder zajęć. Następnie wybierz swoją klasę. Ewentualnie dodaj słoiki, chociaż twierdzisz, że próbujesz to zrobić. Ponadto "czy próbowałeś go wyłączyć i ponownie włączyć"? (Uruchom ponownie Eclipse).

+0

Kiedy "Dodaj folder klasy" powinienem wybrać folder zawierający katalog "com" (prababcia), czy powinienem wybrać folder zawierający pliki * .class? – mikey

+0

Znaleziono inną, bardziej rozbudowany zestaw pakietów włącznie z tym, że walcowane do słoika, a do tej pory tak dobrze. Dzięki! – mikey

+4

pewno wydaje się jak zaćmienia może być nieco buggy, jeśli chodzi o walidacji JSP. "Wyłączenie i ponowne włączenie" pomaga odzyskać równowagę, ale odkryłem również, że wykonanie Projektu -> Czyszczenie ... może również pomóc w prostowaniu. – mikey

32

Również jeśli używasz mavenised projektu, spróbuj zaktualizować swój projekt, klikając Alt + F5. Lub kliknij prawym przyciskiem myszy na aplikacji i przejdź do projektu maven/update.

Buduje wszystkie komponenty i rozwiązuje, jeśli wystąpi błąd importu.

+3

Czy ktoś może wyjaśnić, dlaczego jest to konieczne? Dlaczego Eclipse nie może sam tego zrozumieć? – XMight

+1

Chciałbym odpowiedzieć na pytanie @XMight. – Erutan409

+0

Miałem ten problem i próbowałem aktualizacji projektu maven niezliczoną ilość razy, ale to nie rozwiązało, dopóki nie usunąłem indeksów JDT w następujący sposób: [odpowiedź na Jak uzyskać dostęp do indeksu JDT Eclipse?] (Https://stackoverflow.com/a/3898528/6359607) – milijan

8

Aby rozwiązać ten błąd „... nie może być rozwiązany do typu ..” wykonać następujące czynności:

  1. prawym przyciskiem myszy na klasę i wybierz «Build Path -> Wyłącz»
  2. Ponownie kliknij prawym przyciskiem myszy na klasie i wybierz "Ścieżka kompilacji -> Dołącz"

To działa dla mnie.

+0

Fajnie to działa dla mnie :) – Sam

+0

Dzięki To naprawdę działało dla mnie ... – priyanka

1

Rozwiązano problem, upuszczając słoik do WEB_INF/lib.

0

Dla użytkowników maven:

  • prawym przyciskiem myszy na projekcie
  • Maven
  • Aktualizacja Projektu
0

kopiując pliki jar rozwiąże. Jeśli przypadkiem kopiujesz kod z dowolnego samouczka, upewnij się, że nazwy klas są pisane poprawnie ... na przykład skopiowałem kod z jednego z samouczków, które miały Solr w S cap. Eclipse nieustannie wyrzucał błąd i robiłem też trochę googlowania ... wszystko było w porządku i zajęło mi 30 minut, aby zdać sobie sprawę z małego problemu.Jestem pewien, że to pomoże ktoś

1
  • Kliknij prawym przyciskiem projekt>Właściwości
  • Budowa ścieżki Java>Dodaj Klasa Folder
  • Wybierz bin folderu
  • Kliknij ok
  • Przełącznik Order and Export Zakładka
  • Wybierz nowo dodaną bin ścieżki ruch UP
  • Kliknij Zastosuj przycisk

enter image description here

0

Dla wielu nowych użytkowników nie zapomnij dodać gwiazdka (*) po swoim sprawozdaniu przywozowych, jeśli chcesz korzystać ze wszystkich klas w pakiecie .... np

import java.io.*; 

public class Learning 
{ 
    public static void main(String[] args) 
    { 
     BufferedInputStream sd = new BufferedInputStream(System.in); 
      // no error 
    } 
} 

============================================== ==================

import java.io; 

public class Learning 
{ 
    public static void main(String[] args) 
    { 
     BufferedInputStream sd = new BufferedInputStream(System.in); 
      // BufferedInputStream cannot be resolved to a type error 
    } 
} 
Powiązane problemy