Eclipse – import projektu z plikiem budowania Ant

Przedstawiam prostą metodę konfigurowania projektów w Eclipse przy wykorzystaniu programu Ant. Wykorzystanie Apache Ant w Eclipse pozwala na łatwe przenoszenie projektów z jednego środowiska do drugiego bez konieczności ręcznego konfigurowania ich w Eclipse. Na przykładzie prostej aplikacji bazodanowej z JDBC (z mojego kursu JDBC) pokazuję dokładnie import projektu z plikiem budowania programu Ant do Eclipse.

Apache Ant

Program Apache Ant pozwala na automatyzację procesu budowania aplikacji. Ułatwia on życie programistom umożliwiając zebranie najczęściej wykonywanych czynności (takich jak kompilacja projektu, przygotowywanie wersji instalacyjnej, instalacja aplikacji czy uruchomienie programu), w jednym miejscu – w pliku budowania aplikacji (o domyślnej nazwie build.xml). Plik budowania aplikacji zawiera definicje wszystkich niezbędnych parametrów konfiguracyjnych używanych narzędzi i ścieżki do wszystkich niezbędnych dodatkowych pakietów. Apache Ant uruchomiony z odpowiednim parametrem wykonuje odpowiednią czynność określoną w pliku budowania aplikacji.

Jak pobrać pliki i przygotować projekt dla Eclipse z Apache Ant ?

1. W dowolnym miejscu tworzymy folder przeznaczony na projekt (będziemy traktować go jako główny folder projektu). W moim przypadku będzie to folder D:\iProgramujesz\KursJDBC01.

2. W głównym folderze projektu tworzymy folder lib, w którym będą znajdować się wykorzystywane pakiety dodatkowe. W moim przypadku będzie więc to folder D:\iProgramujesz\KursJDBC01\lib).

3. Do utworzonego folderu lib zapisujemy plik .jar ze sterownikiem JDBC do serwera baz danych PostgreSQL. W moim przypadku będzie to plik postgresql-9.4-1200.jdbc4.jar pobrany ze strony PostgreSQL JDBC Driver, który znajdzie się w folderze D:\iProgramujesz\KursJDBC01\lib.

4. W głównym folderze projektu tworzymy folder src, w którym będą znajdować się źródła projektu. W moim przypadku będzie więc to folder D:\iProgramujesz\KursJDBC01\src).

5. W utworzonym folderze src tworzymy foldery pl\iprogramujesz\bazy\danych\kurs\jdbc i w ostatnim z nich zapisujemy plik KursJDBC01.java (do pobrania ze strony mojego kursu JDBC). W moim przypadku plik KursJDBC01.java znajdzie się więc w folderze D:\iProgramujesz\KursJDBC01\src\pl\iprogramujesz\bazy\danych\kurs\jdbc.

6. W głównym folderze projektu zapisujemy plik budowania aplikacji build.xml (do pobrania ze strony mojego kursu JDBC). W moim przypadku plik build.xml znajdzie się więc w folderze D:\iProgramujesz\KursJDBC01.

Jak skonfigurować projekt dla Eclipse z Apache Ant ?

Cała konfiguracja projektu znajduje się w pliku budowania aplikacji build.xml i powinna być właściwa dla każdego prawidłowo skonfigurowanego środowiska. Natomiast pewnych zmian mogą wymagać parametry połączenia z serwerem baz danych (plik KursJDBC01.java, wiersz 15). Podaję więc kilka uwag:

1. Jeśli pobraliśmy inną wersję sterownika JDBC do serwera baz danych PostgreSQL, to należy w pliku build.xml zmienić nazwę pliku postgresql-9.4-1200.jdbc4.jar na właściwą.

2. Przed kompilowaniem programu należy sprawdzić czy ustawienia połączenia z bazą danych są poprawne (plik KursJDBC01.java, wiersz 15).

3. Przed uruchomieniem programu należy utworzyć w bazie danych tabelę PROGRAMISTA. Można zrobić to za pomocą następujacej instrukcji SQL: CREATE TABLE programista (id SERIAL PRIMARY KEY, imie VARCHAR(80), nazwisko VARCHAR(80));.

4. Jeśli pracujemy z innym serwerem baz danych niż PostgreSQL, należy pobrać odpowiedni dla tego serwera sterownik JDBC i w pliku build.xml zmienić nazwę pliku postgresql-9.4-1200.jdbc4.jar na właściwą. Zmian będą wymagać także ustawienia połączenia z bazą danych w pliku KursJDBC01.java (wiersz 15). Inaczej może też wyglądać instrukcja SQL tworząca tabelę PROGRAMISTA.

Jak utworzyć projekt w Eclipse z pliku budowania Apache Ant ?

1. W menu Eclipse wybieramy File -> New -> Project….

Eclipse - ekran główny

2. Otworzy się okno New Project

Eclipse - okno tworzenia nowego projektu

Wybieramy w nim Java -> Java Project from Existing Ant Buildfile i naciskamy Next.

Eclipse - okno tworzenia nowego projektu z plikiem budowania aplikacji Apache Ant

3. Otworzy się okno New Java Project.

Eclipse - okno importu projektu z plikiem budowania aplikacji Apache Ant

Naciskamy Browse i wybieramy plik budowania programu Apache Ant.

Eclipse - okno importu projektu z plikiem budowania aplikacji Apache Ant

Naciskamy Finish.

4. Projekt zostanie utworzony i pojawi się w panelu Package Explorer Eclipse (po lewej stronie).

Eclipse - ekran główny z importowanym projektem

Jak uruchomić projekt w Eclipse z pliku budowania Apache Ant ?

1. Rozwijamy drzewo elementów w panelu Package Explorer Eclipse (po lewej stronie). Klikamy dwukrotnie lewym przyciskiem myszy na pliku KursJDBC.java w Package Explorer. Otworzy się on wówczas w głównym panelu Eclipse.

Eclipse - ekran główny z importowanym projektem

2. Klikamy prawym przyciskiem myszy na pliku build.xml w Package Explorer. Wybieramy z menu Run As -> Ant Build….

3. Otworzy się okno Edit Configuration.

Eclipse - okno konfiguracji dla pliku budowania aplikacji Apache Ant

Sprawdzamy czy w zakładce Targets zaznaczony jest cel compile [default] i naciskamy Run.

4. Projekt zacznie kompilować się i po chwili w panelu Console Eclipse (na dole ekranu) zobaczymy rezultaty kompilacji.

Eclipse - ekran główny z wynikami kompilacji projektu przy użyciu Apache Ant

Komunikat BUILD SUCCESSFUL świadczy o pomyślnym zakończeniu budowania aplikacji.

5. Klikamy prawym przyciskiem myszy na pliku KursJDBC.java w Package Explorer. Wybieramy z menu Run As -> Java Application. Projekt zacznie uruchamiać się i po chwili w panelu Console Eclipse (na dole ekranu) zobaczymy rezultaty uruchomienia.

Eclipse - ekran główny z wynikami uruchomienia projektu przy użyciu Apache Ant

Plik budowania Apache Ant

Przyjrzyjmy się jeszcze wykorzystanemu plikowi budowania Apache Ant. Jego zawartość przedstawiam poniżej.

<project name="KursJDBC01" default="compile" basedir=".">

	<property name="build.name" value="${ant.project.name}"/>
	<tstamp>
		<format property="build.time" pattern="yyyy.mm.dd HH:mm:ss"/>
	</tstamp>
	<property name="main.class" value="pl.iprogramujesz.bazy.danych.kurs.jdbc.KursJDBC01"/>

	<property name="src" location="src"/>
	<property name="lib" location="lib"/>
	<property name="build" location="build"/>
	<property name="dist" location="dist"/>

	<path id="classpath">
		<pathelement location="${lib}/postgresql-9.4-1200.jdbc4.jar"/>
	</path>

	<target name="init">
		<mkdir dir="${build}"/>
		<mkdir dir="${dist}"/>
	</target>

	<target name="clean">
		<delete dir="${build}"/>
		<delete dir="${dist}"/>
	</target>

	<target name="compile" depends="init">
		<javac srcdir="${src}" destdir="${build}" classpathref="classpath"/>
		<copy todir="${build}">
			<fileset dir="${src}" excludes="**/*.java"/>
		</copy>
	</target>

	<target name="dist" depends="compile">
		<jar jarfile="${dist}/${build.name}.jar" basedir="${build}">
			<manifest>
				<attribute name="Build-Name" value="${build.name}"/>
				<attribute name="Build-Time" value="${build.time}"/>
				<attribute name="Main-Class" value="${main.class}"/>
			</manifest>
		</jar>
	</target>

</project>

Plik budowania określa cztery cele: init, clean, compile i dist. Pierwszy cel inicjalizuje proces budowania aplikacji – tworzy foldery na produkty kompilacji i na wersję instalacyjną aplikacji. Drugi cel czyści proces budowania aplikacji – usuwa foldery utworzone przez cel init. Cel compile kompiluje projekt i dodatkowo kopiuje do folderu z produktami kompilacji wszystkie pliki nie zawierające kodu źródłowego języka Java (możliwe pliki konfiguracyjne umieszczone w folderze src). Cel dist przygotowuje wersję instalacyjną aplikacji – plik .jar.

Kurs JDBC – pliki do pobrania

W omawianym przykładzie importu projektu z plikiem budowania aplikacji z programu Apache Ant wykorzystałem prostą aplikację bazodanową z JDBC z mojego kursu JDBC. Wykorzystane pliki można pobrać w archiwum .zip zawierającym kurs JDBC.