Mam problem z importowaniem projektu zewnętrznego. Idę Plik -> Importuj ... -> Istniejące projekty do obszaru roboczego, wybieram folder, w którym znajduje się projekt i wszystko jest importowane - ale nazwy pakietów projektu nie wydają się zgodne z oczekiwaniami Eclipse. Wszystkie nazwy pakietów mają przedrostek:
prefix.packagename1
prefix.packagename2
itp.
Ale Eclipse tego oczekuje
src.prefix1.prefix.packagename1
src.prefix1.prefix.packagename2
itd., ponieważ katalog to src / prefix1 / prefix / package1
Naprawdę nie chcę bawić się zewnętrznym kodem. Jak nakazać Eclipse ignorowanie katalogu „src / prefix1”? Albo co jeszcze mogę zrobić?
package (name of package under which the file to be )
na początku plikuOdpowiedzi:
Po prostu przejdź do ścieżki kompilacji i zmień ścieżkę źródłową na
src/prefix1
zamiastsrc
.Najłatwiej jest kliknąć
src
katalog prawym przyciskiem myszy i wybrać „Buduj ścieżkę / Usuń ze ścieżki budowania”, a następnie znajdźsrc/prefix1
katalog, kliknij go prawym przyciskiem myszy i wybierz „Buduj ścieżkę / Użyj jako folderu źródłowego”.źródło
Właśnie napotkałem ten problem, a ponieważ rozwiązanie pana Skeeta nie zadziałało dla mnie, opowiem, jak rozwiązałem ten problem.
Okazuje się, że otworzyłem plik java pod 'src' przed zadeklarowaniem go jako katalogu źródłowego.
Po kliknięciu prawym przyciskiem katalogu „src” w środowisku eclipse, wybraniu „ścieżki budowania”, a następnie „Użyj jako folderu źródłowego”
Zamknij i ponownie otwórz już otwarty plik java (odświeżanie F5 nie działało).
Podana ścieżka do pliku java począwszy od „prefix1” jest zgodna z pakietem w pliku (przykład z pytania żądającego prefix1.prefix.packagename2). To powinno działać
Eclipse nie powinno już narzekać na „src”.
źródło
Przenieś problematyczne pliki * .java do innego folderu.
Kliknij element „src” i naciśnij „F5”.
Czerwone krzyże znikną.
Umieść pliki * .java w „ścieżce pakietu”, kliknij element „src” i naciśnij „F5”.
Wszystko powinno być w porządku.
źródło
Jeśli zaimportowałeś istniejący projekt, po prostu usuń foldery źródłowe, a następnie dodaj je ponownie, aby utworzyć ścieżkę do budowania i ponownie uruchom Eclipse. W większości przypadków zaćmienie będzie wyświetlało błąd do momentu ponownego uruchomienia.
źródło
Zdarza się dla mnie po nieudanych kompilacjach uruchamianych poza IDE. Jeśli czyszczenie obszaru roboczego nie działa, spróbuj: 1) Usuń wszystkie projekty 2) Zamknij i uruchom ponownie STS / eclipse, 3) Ponownie zaimportuj projekty
źródło
Jedyne, co mi pomogło, to usunięcie projektu, a następnie ponowne zaimportowanie go. Działa jak marzenie :)
źródło
Ten problem pojawia się w Eclipse czasami podczas importowania projektu Androida, który nie ma pliku .classpath. Ten, który tworzy Eclipse, nie jest dokładnie tym samym, czego oczekuje Android. Jednak pliki .classpath systemu Android są zwykle wszystkie względne, więc po prostu kopiuję poprawny plik .classpath z innego projektu do nieprawidłowej ścieżki .classpath. Stworzyłem film, który pokazuje, jak to robię: https://www.youtube.com/watch?v=IVIhgeahS1Ynto
źródło
Załóżmy, że Twój projekt ma pakiet taki jak
package name1.name2.name3.name4
(zadeklarowany pakiet)Eksplorator pakietów wyświetla
pakiety
podrzędne najwyższego poziomu o nazwie nazwa1.nazwa2 o nazwie nazwa3.nazwa4
Wystąpią błędy, ponieważ Eclipse wyodrębnia nazwę pakietu ze struktury katalogów plików na dysku, zaczynając od punktu, z którego importujesz.
Mój przypadek był nieco bardziej skomplikowany, być może dlatego, że użyłem symbolicznego łącza do folderu poza moim obszarem roboczym.
Najpierw próbowałem Build Path.Java Build Path.Source Tab.Link Source Button.Browse do folderu przed name1 w swoim pakiecie.Folder-name, jak chcesz (tak myślę). Ale miał problemy.
Następnie usunąłem folder ze ścieżki kompilacji i spróbowałem Plik> Importuj ...> Ogólne> System plików> kliknij Dalej> Z katalogu> Przeglądaj ... do folderu nad nazwą 1> kliknij przycisk Zaawansowane> zaznacz Utwórz łącza w obszarze roboczym> kliknij Zakończ przycisk.
źródło
Przejdź do folderu src projektu i skopiuj z niego cały kod do jakiejś tymczasowej lokalizacji i skompiluj projekt. A teraz skopiuj rzeczywisty kod z tymczasowej lokalizacji do projektu src. I ponownie uruchom kompilację. Problem zostanie rozwiązany.
Uwaga: dotyczy to zaćmień.
źródło
Właśnie teraz miałem ten sam problem. Jednak kilka pierwszych odpowiedzi nie działa dla mnie. Proponuję rozwiązanie: zmień plik .classpath.Na przykład możesz zdefiniować ścieżkę węzła classpathentry w następujący sposób: path = "src / prefix1 / java" lub path = " src / prefix1 / resources ”. Mam nadzieję, że to pomoże.
źródło
Dla mnie problem polegał na tym, że konwertowałem istniejący projekt na maven, utworzyłem struktury folderów zgodnie z dokumentacją i pokazywał folder „główny” jako część pakietu. Postępowałem zgodnie z instrukcjami podobnymi do Jon Skeet / JWoodchuck i przeszedłem do ścieżki kompilacji Java, usunąłem wszystkie uszkodzone ścieżki kompilacji, a następnie dodałem moją ścieżkę kompilacji do `` src / main / java '' i `` src / test / java '' jako foldery zasobów dla każdego i rozwiązało problem.
źródło
Ścieżka budowania powinna zawierać ścieżkę poprzedzającą nazwę pakietu.
Na przykład, jeśli struktura folderów jest następująca:
src/main/java/com/example/dao
Jeśli klasa zawierająca instrukcję importu'package com.example.dao'
zgłasza błąd dotyczący nieprawidłowego pakietu, ścieżka budowaniainclude:src/main/java
powinna rozwiązać problem.źródło
Kliknij Ścieżka kompilacji -> Usuń ze ścieżki kompilacji.
Teraz przejdź do folderu prefix1 w sekcji folderu projektu.
Kliknij go prawym przyciskiem myszy -> Ścieżka kompilacji -> Użyj jako folderu źródłowego.
Gotowe. Folder pakietu nie będzie teraz pokazywał żadnego błędu. Jeśli nadal się wyświetla, po prostu uruchom ponownie projekt.
źródło