2009-03-19 10 views
25

Hej wszystkim. Pracuję nad projektem dla szkoły, w którym otrzymujemy plik .class, ale nie jest to źródło do uwzględnienia w naszym kodzie. Używam Eclipse i chcę dołączyć ten plik do mojego projektu, aby móc tworzyć instancje z niego i używać go. Jak dołączyć pliki .class do mojego projektu w środowisku Eclipse? (Java)

Plik jest TokenizerImpl.class i chcę go używać tak:

TokenizerImpl tokenizer = new TokenizerImpl(foo);

umieścić plik w moim katalogu projektu i Eclipse mówi, że „TokenizeImpl nie może być rozwiązany jako typ”, które zakładam, że środki nie może znaleźć klasy ani źródła. Próbowałem umieścić go w folderze "bin" projektu i otrzymałem ten sam błąd. Wyszukiwarka Google i wyszukiwarka SO wydawały się nie odpowiadać, więc zrobię to. Jak mam to zrobić, o mądrzy?

Edytuj: Och, drogi, okazało się, że problem jest zupełnie inny. Rozwiązania te działały dobrze, ale zapomniałem stworzyć interfejs Tokenizer, który implementuje TokenizerImpl. Doh. Dzięki za twoją pomoc, nauczyłem się wiele o Zaćmieniu.

Odpowiedz

40

Możesz dodać katalog zawierający pliki klas do projektu Eclipse, tylko jeśli znajduje się wewnątrz jednego z projektów Eclipse, w wygenerowanym katalogu lub w jednym z utworzonych przez ciebie.

Można to zrobić, dodając folder klasy do ścieżki budowania Java aplikacji. Możesz ustawić to we właściwościach projektu, odwiedzając ścieżkę budowania Java -> Biblioteki -> Dodaj folder klasy. Pamiętaj, że będziesz musiał określić folder główny zawierający pliki klas w swoich pakietach.

Dlatego jeśli chcesz mieć dostęp do kompilatora com.stackoverflow.Example.class znajdującego się w katalogu klas w projekcie A (ale nie w ścieżce budowania projektu A), powinieneś dodać "klasy" jako folder klasy, a nie klasy/com/stackoverflow jako folder klasy.

+2

"Należy pamiętać, że będziesz musiał określić folder główny zawierający pliki klas w swoich pakietach." +1 –

0

Inni ludzie mają teraz lepsze odpowiedzi. Ta "odpowiedź" polegała głównie na uzyskaniu informacji z PO, ponieważ pierwotne pytanie tak naprawdę nie mówiło nam w pełni, co zostało wypróbowane. Jest teraz twoanswers, które naprawdę odpowiadają na pytanie w dłuższej perspektywie.

Moja oryginalna odpowiedź została poniżej dla kontekstu.

Czy skopiowałeś go do folderu bin w Eclipse lub poza Eclipse? Jeśli zrobiłeś to poza Eclipse, musisz kliknąć prawym przyciskiem myszy na folderze "bin" i wybrać "odśwież" dla Eclipse, aby zobaczyć nowy plik.

Plik * .class w odpowiednim folderze (w zależności od pakietu) w katalogu bin powinien to zrobić.

+0

Jest w folderze bin, ale czy muszę zrobić wszystko, aby dodać go do odpowiedniego pakietu? Po prostu umieść go w folderze, poprawne? – jergason

+0

Jeśli znajduje się w paczce com.stackoverflow.javacode, to umieścisz plik klasy w katalogu bin/com/stackoverflow/javacode/ – Eddie

+0

. UWAGA: Jeśli kiedykolwiek wyczyścisz obszar roboczy, twój plik .class zniknie! – dhiller

14

Project -> Właściwości -> Java Budowa Path -> Biblioteki -> Dodaj zewnętrzne folder Klasa

Folder musi zawierać hierarchię przesyłki, tzn jeśli klasa jest naprawdę foo.bar.TokenizerImpl musi być w podkatalog foo/bar.

1

Można również JAR pliki klas, które chcesz dodać i dodać plik JAR do zależności build. Dla mnie jest to najczystsze rozwiązanie. Wewnętrznie plik JAR musi oczywiście mieć poprawną strukturę katalogów.

Kliknij prawym przyciskiem myszy na projekcie i wybierz opcję Java Build Path, aby dodać nowe zależności.

Kopiowanie go do folderu bin nie działa zbyt dobrze, ponieważ służy do przechowywania wyników skompilowanych źródeł. Jak tylko cokolwiek usuniesz, plik zniknie.

0

lub umieścić wszystko w pliku jar i dodać jako zewnętrzny słoik.

Powiązane problemy