2012-08-26 8 views
9

Podczas próby wyeksportowania projektu jako pliku .jar, Eclipse będzie narzekał, że niektórych plików nie można znaleźć na ścieżce klasy:Eksportowanie projektu Java jako pliku .jar będzie narzekać, że pewne pliki .java nie zostaną znalezione.

pliki klas na ścieżce klasy nie znaleziono lub nie jest dostępny dla: 'proj/src/main/java/analiza/specyfikacje/VerifyVariableIsDefinedInsideTargetTerm.java'

teraz, ciekawe jest to, że te pliki Haven” t faktycznie istniał na dysku przez wieki. Chyba muszę w jakiś sposób zmusić Eclipse do odświeżenia jego bazy danych. Próbowałem już robić F5 i pełne kompilacje, ale wydaje się to bezskuteczne. Próbowałem również procedury opisanej na this blog post, ale problem pozostaje.

+2

To pytanie nie powinno być zamknięte. To oczywiście nie jest lokalne dla czasu lub miejsca. Otrzymywanie błędów podczas tworzenia słoika za pomocą eclipse jest dokładnie właściwym zakresem pytania dla stackoverflow. Nie tylko otrzymałem ten dokładny komunikat o błędzie. Pierwsza odpowiedź była dokładnym rozwiązaniem. – willkil

+1

I Googled i wydaje się, że istnieje wiele innych osób z tym problemem. Udało mi się to naprawić w moim środowisku i chciałem podzielić się z tobą moim rozwiązaniem, ale pytanie jest zamknięte! W moim przypadku moje pliki .class nie zostały utworzone i dlatego, gdy próbowałem utworzyć plik jar, to dałoby mi powyższy błąd. tak, oto co zrobiłem W Eclipse/STS, odznacz Automatycznie kompilację, a następnie kliknij projekt czystą kompilację (wybierz konkretny projekt). –

+1

@ user717630: głosuj, aby ponownie otworzyć, jeśli możesz. –

Odpowiedz

12

Err .. I rzeczywiście potknął się o przyczynie problemu kilka chwil temu ..

Wszystkie pliki, które zostały podnoszenie problemy rzeczywiście istnieją w projekcie, ale były wykomentowane (a więc, Nie miałem nie widzą ich w eksploratorze pakietów, z którego generalnie korzystam).

Po ich usunięciu wszystko poszło dobrze. I nadal nie rozumiem, dlaczego oni podnieść błędy w procesie tworzenia JAR, choć ..

EDIT: Oto przykład zakomentowanym klasy:

package a.b.c 

//import java.io.Closeable; 

//public class Example implements Closeable { 
// public void close() throws IOException { 
//  System.out.println("closed"); 
// } 
//} 

Ponieważ cała klasa jest skomentował, nie utworzono klasy Example.class. Natomiast jeśli klasa jest komentowana w ten sposób:

package a.b.c 

//import java.io.Closeable; 

public class Example 
// implements Closeable 
{ 
// public void close() throws IOException { 
//  System.out.println("closed"); 
// } 
} 

następnie utworzona jest klasa Example.classes, chociaż pusta.

To może być błąd w czasie zaćmienia. Jeśli wyeksportujesz skrypt budujący mrówki z zaćmienia i użyjesz go, utworzy on słoik dobrze.

+0

Bardzo dziwna sprawa, ale twoja odpowiedź była trafna; Wyciągnąłem fragment mojej aplikacji do użytku jako [w większości] niezależny moduł, ale pozostawiłem oryginalną klasę (-y) w miejscu, ale całkowicie skomentowałem. Nie było żadnych odniesień do oryginalnej klasy, ale nie byłem jeszcze gotowy, aby ją usunąć. – cabbagery

0

Prawdopodobnie prawdziwym problemem jest to, że nie wszystkie pliki klas są w tym samym miejscu ... moją propozycją jest przeniesienie wszystkich plików .java do tego samego folderu, przekompilowanie w celu utworzenia plików .class, upewnienie się, że wszystkie Pliki .class są następnie w tym samym folderze ... następnie sprawdź tę stronę: http://www.centerkey.com/mac/java/, jeśli potrzebujesz pomocy w tworzeniu pliku .jar.

Strona zakłada również, że znajdujesz się na komputerze Mac ... ale nadal powinieneś być w stanie użyć Wiersza polecenia w oknach, aby uruchomić go.

2

Ten problem pojawił się również u mnie. Jednak moim problemem było to, że miałem problemy z konfiguracją JRE w Eclipse.

Powiązane problemy