Mam projekt Eclipse, w którym chcę, aby mój projekt Java został automatycznie wbudowany w plik JAR. Wiem, że mam możliwość wyeksportowania projektu do pliku JAR; jeśli zrobię prawy przycisk myszy; ale naprawdę szukam tego, że tak jak Eclipse automatycznie buduje .class
pliki projektu i umieszcza je w folderze docelowym; powinien również automatycznie utworzyć plik JAR i skopiować najnowszy plik JAR w jakimś lub określonym miejscu.
Czy istnieje możliwość skonfigurowania Eclipse w taki sposób, aby automatycznie budować pliki JAR?
Żeby było jasne dla facetów, wystarczająco cierpliwy, by odpowiedzieć na moje pytanie; Nie patrzę na ANT jako rozwiązanie; ponieważ już go używam, ale chciałbym, żeby coś było inicjowane automatycznie albo za pomocą wyzwalacza opartego na czasie, albo natychmiastowego kompilowania ze zmianą.
Odpowiedzi:
Sprawdź Apache Ant
Możliwe jest użycie Ant do automatycznych kompilacji z zaćmieniem, oto jak
źródło
Chcesz
.jardesc
plik. Nie uruchamiają się automatycznie, ale w ciągu 2 kliknięć.Export > Java > JAR file
Next
.jardesc
pliku JAR w obszarze roboczym” i wybierz nazwę nowego plikuTeraz wszystko, co musisz zrobić, to kliknąć
.jardesc
plik prawym przyciskiem myszy i wybrać,Create JAR
a wyeksportuje go w tym samym miejscu.źródło
Utwórz plik Ant i powiedz Eclipse, aby go zbudował. Są tylko dwa kroki, a każdy jest łatwy dzięki poniższym instrukcjom krok po kroku.
Krok 1 Utwórz plik build.xml i dodaj do eksploratora pakietów:
Eclipse powinno wyglądać jak na poniższym zrzucie ekranu. Zwróć uwagę na ikonę Ant w pliku build.xml.
Krok 2 Kliknij prawym przyciskiem myszy węzeł główny w projekcie. - Wybierz właściwości - Wybierz konstruktorów - Wybierz nowy - Wybierz kompilację Ant - Na karcie Główne podaj ścieżkę do pliku build.xml w folderze bin .
Sprawdź dane wyjściowe
W oknie wyjściowym Eclipse (o nazwie Console) po kompilacji powinno być wyświetlane następujące okno:
EDYCJA: Kilka pomocnych komentarzy od @yeoman i @betlista
źródło
<jar jarfile="dist/mypackage.jar" basedir="bin/" includes="**/*.class" />
build.xml
w folderze src, ale reszta działa dobrze, niesamowicie!Jest to możliwe dzięki zdefiniowaniu niestandardowego Konstruktora w zaćmieniu (zobacz link w odpowiedzi Petera). Jednak jeśli projekt nie jest bardzo mały, może to spowolnić obszar roboczy w nieakceptowany sposób. Autobuild dla plików klas odbywa się przyrostowo, tzn. Rekompilowane są tylko te klasy, na które zmiana ma wpływ, ale plik JAR będzie musiał zostać odbudowany i całkowicie skopiowany za każdym razem, gdy zapiszesz zmianę.
źródło
Jeśli chodzi o odpowiedź Petera i dodatek Micheala do niej, może się okazać, że przydatny może być How Do I Automatically Generate A .jar File In An Eclipse Java Project . Ponieważ nawet jeśli masz w swoim projekcie plik "* .jardesc", musisz uruchomić go ręcznie. Może to nieco ochłodzić Twój problem związany z klikaniem zaćmienia.
źródło
Korzystając z powyższej odpowiedzi Thomasa Bratta , upewnij się, że plik build.xml jest poprawnie skonfigurowany:
(Zwróć uwagę na podwójną gwiazdkę - informuje ona kompilację, aby szukała plików .class we wszystkich podkatalogach).
źródło
Tworzenie programu uruchamiającego konstruktora jest problemem, ponieważ 2 projekty nie mogą mieć tej samej nazwy kompilacji narzędzia zewnętrznego. Każde imię musi być niepowtarzalne. Obecnie mam do czynienia z tym problemem, aby zautomatyzować moją kompilację i skopiować plik JAR do lokalizacji zewnętrznej.
Używam IBM Zip Builder, ale to tylko pomoc, ale nie robi tego naprawdę.
Ludzie mogą spróbować użyć wtyczki IBM ZIP Creation. http://www.ibm.com/developerworks/websphere/library/techarticles/0112_deboer/deboer2.html#download
źródło