Eclipse: Błąd „.. nakłada się na lokalizację innego projektu ..” podczas próby utworzenia nowego projektu


108

Podczas tworzenia nowego projektu pojawia się komunikat o błędzie w Eclipse.

Stworzyłem obszar roboczy na poziomie

C: \ Users \ Martin \ Java \ Counter

Wewnątrz licznika nie ma żadnych plików, ale istnieje katalog o nazwie counter_src, który zawiera pliki źródłowe projektu Counter

Więc w Eclipse robię, New Java Project, a następnie odznacz domyślną lokalizację i wybierz katalog

counter_src (który jest o jeden poziom niżej od Counter)

ale teraz jest wyświetlany

C: \ Users \ Martin \ Java \ Counter \ counter_src nakłada się na lokalizację innego projektu: „counter_src”

Teraz, jeśli utworzę obszar roboczy pod adresem

C: \ Users \ Martin \ Java \

co oznacza, że ​​mój counter_src jest w rzeczywistości o 2 poziomy niższy niż pozwala mi, ale problem polega na tym, że katalog Java zawiera wiele projektów, więc chciałem utworzyć obszar roboczy w Counter (który nie ma plików), który ma podkatalog counter_src, w którym moje pliki źródłowe są.

Testowałem także tworzenie katalogu w C: \ Users \ Martin \ Java \ i wygląda na to, że działa, ale nie chciałem tworzyć kolejnego podkatalogu w "C: \ Users \ Martin \ Java \" tylko po to, aby przechowywać mój obszar roboczy dla 1 projektu .


Czy próbowałeś usunąć folder counter_src, a następnie utworzyć projekt (który utworzy katalog), a następnie zaimportować pliki źródłowe?
— justderb

1
Cześć Justderb! Tak, na pewno, jeśli usunę counter_src, to działa. Wygląda na to, że jeśli katalog istnieje i odznaczam opcję „użyj domyślnej lokalizacji”, pojawia się problem. Jeśli katalog istnieje i nazywam projekt counter_srv, dlatego nie muszę odznaczać opcji „użyj domyślnej lokalizacji”, to również działa… Czy to błąd?
— Martin

Czy to rozwiązało Twój problem? Może to być ... ale nie zaglądałem do tego zbyt wiele :)
— justderb

1
Martin: błąd użyteczności, tak. UX Eclipse jest okropny, zwłaszcza z jego założeniami skoncentrowanymi na Javie (dla nas, użytkowników Pythona), że budowanie jest jakąś nieprzejrzystą świętą operacją, która jest konieczna i powoduje, że projekty muszą żyć w oddzielnych katalogach, które muszą być tworzone od podstaw. Okno dialogowe z ostrzeżeniem „Katalog projektu już istnieje. Czy mimo to utworzyć?” a następnie Wykonanie właściwej rzeczy byłoby bardziej przyjaznym dla użytkownika zachowaniem Eclipse zamiast zawodzić i wymagać od użytkownika użycia nieoczywistego oddzielnego polecenia ...
— smci

Odpowiedzi:


89

Eclipse popełnia błędy, ponieważ jeśli spróbujesz utworzyć projekt w katalogu, który istnieje, Eclipse nie wie, czy jest to rzeczywisty projekt, czy nie - więc popełnia błędy, oszczędzając Ci pracę!

Masz więc dwa rozwiązania:

  1. Przenieś folder counter_srcw inne miejsce, a następnie utwórz projekt (który utworzy katalog), a następnie zaimportuj pliki źródłowe z powrotem do nowo utworzonego counter_src.

  2. Kliknij prawym przyciskiem myszy eksplorator projektów i zaimportuj istniejący projekt, wybierz C:\Users\Martin\Java\Counter\jako katalog główny. Jeśli Eclipse zobaczy projekt, będziesz mógł go zaimportować.


2
Jasne, ale okno dialogowe z ostrzeżeniem „Katalog projektu już istnieje. Czy mimo to utworzyć?” a następnie Wykonanie właściwej rzeczy byłoby bardziej przyjaznym dla użytkownika zachowaniem Eclipse zamiast niepowodzeniem i wymaganiem od użytkownika użycia nieoczywistego oddzielnego polecenia ...
— smci

92

Tak więc miałem ten sam problem, ale próbowałem zaimportować kod Androida za pomocą menu „Importuj…”. Gdy żadne z powyższych dwóch rozwiązań nie działało na Eclipse Juno:

  • Eclipse -> Plik -> Importuj -> Ogólne -> Istniejący projekt do obszaru roboczego (UWAGA: NIE „ISTNIEJĄCY PROJEKT ANDROIDOWY” )

  • (Projekty powinny być importowane poprawnie, ale powinny zawierać błędy. Musimy teraz dołączyć SDK do projektu)

  • Kliknij prawym przyciskiem myszy projekt, Właściwości-> Android-> Project Build Target Wybierz odpowiedni cel kompilacji (w razie wątpliwości użyj 4.0.3 w projekcie jest nowy i użyj 2.2, jeśli projekt jest stary)

  • Kliknij OK

Po odbudowie projektu wszystko powinno wrócić do porządku.

(Zostało to napisane, gdy Eclipse Indigo było modne i mogą nastąpić zmiany, gdy Google zaktualizuje swoje narzędzia, aby pokryć narożne przypadki).


8
Część „NIE ISTNIEJĄCY PROJEKT ANDROIDA” była przyczyną moich problemów. +1 za odpowiedź, która rozwiązała problem; dzięki.
— steveha

1
„Existing Project Into Workspace” nie widzi projektu Android
— 18446744073709551615

Działa to tylko dla projektów, które są już projektami Eclipse, a nie dla żadnego „istniejącego kodu Androida”. Próbuję zaimportować projekt systemu Android tylko z pliku AndroidManifest.xml. Zaznaczenie pola „Kopiuj projekty do obszaru roboczego” umożliwiło kontynuację procesu, ale usunęło plik AndroidManifest.xml i utworzyło zduplikowane projekty z nowymi nazwami. Ostatnią rzeczą, która w końcu zadziałała najlepiej, było dla mnie zaimportowanie kodu, gdy projekty znajdowały się poza moim WS, a następnie usunięcie ich z Eclipse, przeniesienie ich do WS i ponowne zaimportowanie jako „Istniejące projekty Eclipse” (opisane powyżej). Powinien zostać uznany za błąd.
— Neil Traft

2
Ten krok pracował Eclipse -> File -> Import -> General -> Existing Project Into Workspace (NOTE: NOT 'EXISTING ANDROID PROJECT')Thanks
— Naruto

29

Upuściłeś projekt w swoim obszarze roboczym, a następnie próbujesz go zaimportować, to jest problem.

Ma to dwa rozwiązania:

1. Więcej folderu projektu poza obszarem roboczym w innym miejscu, a następnie spróbuj.

2. Idź doFile ---> new Project ---> Select the existing project radio button ---> browse to the project folder in your workspace ---> finish

Edytowano

Załóżmy, że D: \ MyDirectory \ MyWorkSpace - ścieżka do Twojego obszaru roboczego

Upuść projekt, który chcesz zaimportować do Eclipse w folderze MyDirectory Nie w MyWorkSpace i spróbuj.


Ale jeśli przeniosę katalog mojego obszaru roboczego 1 z powrotem i spróbuję… to teraz działa… zobacz moją oryginalną wiadomość powyżej dotyczącą poziomów itp.
— Martin

22

W moim przypadku zaznaczenie check-boxu

„Kopiuj projekt do obszaru roboczego”

załatwił sprawę.


3

po prostu „CUT” folder projektu i przenieś go z katalogu obszaru roboczego i wykonaj następujące czynności

file=>import=>(select new directory)=> mark (copy to my workspace) checkbox 

i gotowe!


3

To też zajęło mi trochę czasu, zanim to zrozumiałem.

Rozwiązanie:

Aby utworzyć nowy projekt Maven w istniejącym obszarze roboczym, po prostu zaznacz pole wyboru „ Użyj domyślnej lokalizacji obszaru roboczego ” ( zignoruj ​​zawartość wyszarzonej lokalizacji ).

Nazwa projektu zostanie określona przez identyfikator artefaktu w kroku 2 kreatora tworzenia.

Rozumowanie:

Było to tak zagmatwane, ponieważ w moim przypadku, ponieważ kiedy wybrałem utworzenie nowego projektu Maven: domyślna lokalizacja obszaru roboczego jest zaznaczona i bezpośrednio przechodzi do niej wyszarzone pole tekstowe „Lokalizacja” miało lokalizację obszaru roboczego + istniejący projekt, którego szukałem w, zanim zdecydujesz się utworzyć nowy projekt Maven. (tj .: Lokalizacja = „[ścieżka obszaru roboczego] / ostatnio oglądany projekt”)

Dlatego odznaczyłem domyślne pole lokalizacji obszaru roboczego i wpisałem w „[ścieżka obszaru roboczego] / nowy projekt”, co nie zadziałało, ponieważ eclipse oczekuje, że [ścieżka obszaru roboczego] będzie inna niż domyślna ścieżka. (W przeciwnym razie wybralibyśmy pole wyboru domyślnego obszaru roboczego).


1

W moim przypadku kliknięcie pola wyboru „importuj projekt do obszaru roboczego” naprawiło błąd, mimo że projekt znajdował się już w folderze obszaru roboczego i nie został przeniesiony przez zaćmienie.


0

FWIW:

Żadna z pozostałych sugestii nie zadziałała dla mnie. Wcześniej utworzyłem projekt o tej samej nazwie, który następnie usunąłem. Odtworzyłem podstawowe pliki-źródłowe (używając PhoneGap) - co nie tworzy projektu "eclipse". Następnie próbowałem utworzyć projekt systemu Android przy użyciu istniejących plików źródłowych, ale nie powiodło się z tym samym komunikatem o błędzie, co sugeruje oryginalne pytanie.

Rozwiązaniem dla mnie było przeniesienie folderu źródłowego i plików poza obszar roboczy i użycie tej samej opcji, ale tym razem zaznacz opcję kopiowania plików do obszaru roboczego w kreatorze.


0

Wiem, że to jest starsze, ale chciałem wnieść inne możliwe rozwiązanie.

Jeśli chcesz zachować lokalizację projektu, tak jak ja, okazało się, że skopiowanie pliku .project z innego projektu do katalogu projektu, a następnie edycja pliku .project, aby nadać mu odpowiednią nazwę, a następnie wybranie opcji Importuj istniejące projekty do obszaru roboczego zadziałało dla mnie.

W systemie Windows użyłem monitora plików, aby zobaczyć, co robi Eclipse, i po prostu wyświetlał błąd z nieznanego powodu podczas próby utworzenia pliku .project. Więc zrobiłem to ręcznie i zadziałało.


0

Przejdź do aktualnego menu PLIK i utwórz nowy ogólny projekt.

Jeśli typ projektu nie jest rozpoznawany, co uniemożliwia działanie jednej z tych metod importu, spróbuj tego. Po dodaniu projektu ogólnego możesz dodać obsługę dowolnego języka, którego potrzebujesz.


0

Wystąpił ten błąd podczas próby utworzenia nowego projektu Eclipse w nowo sklonowanym folderze repozytorium Git.

To zadziałało dla mnie:

1) sklonuj repozytorium Git (w moim przypadku było to do podfolderu domyślnego obszaru roboczego Eclipse)

2) Utwórz nowy projekt Eclipse w domyślnym obszarze roboczym (jeden poziom powyżej sklonowanego folderu repozytorium Git)

3) wyeksportuj nowy projekt Eclipse z domyślnego obszaru roboczego do sklonowanego katalogu repozytorium:

a) right click on project --> Export --> General --> File System
b) select the new Eclipse project
c) set the destination directory to export to (as the Git repo folder)

4) usuń projekt Eclipse z obszaru roboczego (ponieważ nadal jest to ten, który używa domyślnego obszaru roboczego)

right click on project and select "Delete"

5) otwórz wyeksportowany projekt Eclipse z katalogu repozytorium Git

a) File --> Open Project from File System or Archive
b) set the "Import source" folder as the Git repo folder
c) check the project to import (that you just exported there)
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.