Bagi sahabat yang sudah terbiasa menggunakan Netbeans untuk mendevelop aplikasi, khususnya aplikasi desktop berbasis Swing, tentunya sudah tidak asing dengan Apache Ant.
Yaitu build tool default (yang konfigurasinya terletak pada file build.xml) yang digunakan Netbeans untuk membuat file distribusi dari aplikasi yang kita buat (folder dist yang berisi jar project dan folder lib yang berisikan semua file library yang dibutuhkan jar project kita).
Apabila kita lihat isi file jar project tersebut dan membuka file MANIFEST.MF, maka sahabat akan mendapati entri Main-Class dan Class-Path.
Dimana Main-Class berisi class utama yang akan dijalankan apabila jika menjalankan aplikasi dengan perintah
Sedangkan Class-Path berisi file-file yang ada pada folder lib.
Seperti halnya dengan Ant, Apache Maven pun juga mendukung fitur ini, sehingga ketika proses build aplikasi dijalankan Maven akan menambahkan Main-Class dan Class-Path pada manifest, serta akan membuat folder lib di dalam folder target.
Berikut ini konfigurasi (plugin) yang harus ditambahkan pada file pom.xml
Plugin pertama (maven-jar-plugin) berfungsi untuk menambahkan Class-Path dan Main-Class pada file MANIFEST.MF nantinya. Sedangkan plugin kedua (maven-dependency-plugin) berfungsi untuk membuat folder lib pada folder target serta mengkopi semua file library ke dalam folder lib tersebut.
Dan jangan lupa menambahkah tag <main.class> di dalam tag <properties>
Happy mavenized :)
Yaitu build tool default (yang konfigurasinya terletak pada file build.xml) yang digunakan Netbeans untuk membuat file distribusi dari aplikasi yang kita buat (folder dist yang berisi jar project dan folder lib yang berisikan semua file library yang dibutuhkan jar project kita).
Apabila kita lihat isi file jar project tersebut dan membuka file MANIFEST.MF, maka sahabat akan mendapati entri Main-Class dan Class-Path.
Dimana Main-Class berisi class utama yang akan dijalankan apabila jika menjalankan aplikasi dengan perintah
java -jar [project.jar]
Sedangkan Class-Path berisi file-file yang ada pada folder lib.
Seperti halnya dengan Ant, Apache Maven pun juga mendukung fitur ini, sehingga ketika proses build aplikasi dijalankan Maven akan menambahkan Main-Class dan Class-Path pada manifest, serta akan membuat folder lib di dalam folder target.
Berikut ini konfigurasi (plugin) yang harus ditambahkan pada file pom.xml
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>2.3.2</version> <configuration> <archive> <manifest> <addClasspath>true</addClasspath> <classpathPrefix>lib/</classpathPrefix> <mainClass>${main.class}</mainClass> </manifest> </archive> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>2.4</version> <executions> <execution> <id>copy</id> <phase>install</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <outputDirectory>${project.build.directory}/lib</outputDirectory> </configuration> </execution> </executions> </plugin>
Plugin pertama (maven-jar-plugin) berfungsi untuk menambahkan Class-Path dan Main-Class pada file MANIFEST.MF nantinya. Sedangkan plugin kedua (maven-dependency-plugin) berfungsi untuk membuat folder lib pada folder target serta mengkopi semua file library ke dalam folder lib tersebut.
Dan jangan lupa menambahkah tag <main.class> di dalam tag <properties>
<main.class>[berisi class utama]</main.class>
Happy mavenized :)
Comments
Post a Comment