2011-12-16 14 views
22

Czasami, kiedy zacznę Eclipse (Java EE IDE dla programistów WWW, Indigo SR 1) na moim MacOSX Lion, mój GWT (2.4.0) projekt początkowo nie kompiluje.Projekt XXX nie ma żadnych SDK GWT na drodze budowania

Eclipse wyświetla następujący komunikat „Problemy” odcinku:

The project XXX does not have any GWT SDKs on its build path 

Oto lista naczep rozwiązań, które czasami działają (ja zwykle spróbować je w tej kolejności):

  1. Project > Clean.
  2. Usuń i ponownie dodaj pakiet SDK GWT do ścieżki budowania.
  3. Uruchom ponownie urządzenie.

Każda pomoc w zapobieganiu ponownemu wystąpieniu problemu byłaby jak najbardziej pożądana.

Odpowiedz

13

Wierzę, że problem został występujących ponieważ Eclipse miał jakieś nieświeży ustawienia dotyczące dostępna/połączonych GWTs.

Dlatego, opierając się na the answer by Chris Cashwell, polecam następujące:

  1. Usuń wszystkie GWTs od ścieżki kompilacji. (Możesz mieć więcej niż jeden GWT na ścieżce budowania.)
  2. Usuń wszystkie GWT powiązane w Eclipse w Project>Properties>Google>Web Toolkit>Configure SDKs,.
  3. Dodaj tylko najnowszy GWT i ustaw go jako domyślny.

EDIT: Czasami nadal muszę zrobić Project > Clean, ale zdarza się to rzadko teraz.

0

Możesz użyć maven do kompilacji i konfiguracji swojego obszaru roboczego.

Jednak sądzę, że byłaby to dla ciebie przesada.

Istnieje Maven GWT Plugin.

+0

To jest dobre obejście, ale na razie przesada. –

+0

To naprawdę przesada dla tego konkretnego pytania, chociaż na dłuższą metę dobrym pomysłem jest zastosowanie rozwiązania do zarządzania zależnościami. –

5

Project->Properties->Java Build Path, znajdź GWT SDK na tej liście kliknij pozycję Edit.

  • Jeśli zaznaczone jest Use default SDK, upewnij się, że jest dostępna wartość domyślna. Jeśli nie, kliknij Configure SDKs... i upewnij się, że nie masz symbolu x w zestawie SDK. Jeśli tak, usuń go i dodaj ponownie.

  • Jeśli zaznaczone jest Use specific SDK, upewnij się, że wybrałeś tę, która jest dostępna.

+0

To jest to, co zwykle robię zgodnie z pkt 2 .; jednak lubię klarowność twojej odpowiedzi. –

+0

@ Darthenius Jeśli nie masz dobrego powodu, aby tego nie robić, skonfigurowałbym domyślny zestaw SDK do użycia niezależnie od tego, z którego chcesz korzystać, i użyj opcji 'Użyj domyślnego zestawu SDK'. W ten sposób nie musisz się martwić o to, że pęknie w przyszłości. –

27

Napotkałem te same problemy, co opisane powyżej.Ale żadne z rozwiązań nie zadziałało.

Co się stało, to przeniesienie pakietu SDK GWT nad inne zależności GWT w ścieżce budowania. Patrz poniższy blog (napisany przez mojego osobistego bohatera dzień): Grant Little's Blog

+2

Należy zauważyć, że ta odpowiedź dotyczy wyłącznie użytkowników Mavena. –

+1

pracował dla mnie, przenosząc GWT SDK na szczyt w eclipse >> Ścieżka budowania java >> zamówienie i eksport – MountainRock

+1

Pracował dla mnie w prostym projekcie Eclipse App Engine bez Mavena –

6

Próbowałem powyżej, ale musiałem zrobić nieco więcej:

z góry:

  • Usuń GWT SDK z mojego projektu
  • usunąć wszystkie GWT SDK z Eclipse
  • Pobierz nowy GWT SDK (2.5.0)
  • Dodaj go do Eclipse i do mojego projektu

Co zrobiłam dodatkowo:

  • Edytuj plik .classpath mojego projektu
  • Przesuń classpathentry dla GWT niespełna 'źródło'
  • zapisać plik .classpath
  • Zamknij projekt
  • Otwórz projekt

I to mi się udało. Przeniesienie go w GUI Build Path nie działa dla mnie!

Tak, początek mojego .classpath skończyło się patrząc tak:

<?xml version="1.0" encoding="UTF-8"?> 
<classpath> 
    <classpathentry kind="src" path="src"/> 
    <classpathentry kind="con" path="com.google.gwt.eclipse.core.GWT_CONTAINER"/> 
    etc... 
+0

Dzięki Jamie. To działa z moim projektem. – SubbaReddy

2

Również inne soulutin jest przeniesienie GWT SDK na górze listy biblioteki (tuż po projekcie) na Strona właściwości/Java Build Path/Order and Export.

3

W moim przypadku GWT_CONTAINER został dodany poniżej JRE_CONTAINER. Naprawienie tego ręcznie w pliku .classpath rozwiązało problem!

<classpathentry kind="con" path="com.google.gwt.eclipse.core.GWT_CONTAINER"/> 
<classpathentry exported="true" kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> 
Powiązane problemy