Setup Environment Development JavaFX (Untuk Maven)
Sebelumnya, subrutin telah membahas bagaimana programmer dapat mensetup environment yang sesuai untuk memulai memprogram dengan JavaFX SDK menggunakan Eclipse IDE. Tapi terkadang, dalam bekerja bersama tim project, masing – masing programmer biasanya memiliki IDE favoritnya sendiri – sendiri, sementara setiap IDE memiliki struktur projectnya sendiri – sendiri.
Oleh karena itu, penting untuk membuat project java yang bersifat IDE agnostik, artinya dapat digunakan oleh sembarang IDE, bahkan mereka yang biasa menggunakan text editor semacam vscode masih dapat turut urun membangun project. Itulah salah satu kegunaan Maven. Dalam ulasan kali ini, penulis akan menunjukkan bagaimana menyiapkan project pertama menggunakan Maven
- Prasyarat Perangkat Lunak
Berikut adalah prasyarat perangkat lunak yang sudah harus terinstal pada mesin komputer. ( Pembaca dapat merujuk ke tautan yang disertakan untuk menginstal perangkat lunak tersebut )
- OpenJDK 11 (klik tautan berikut untuk petunjuk menginstal OpenJDK11 dari Redhat)
- Eclipse IDE
- Maven (klik tautan ini untuk petunjuk menginstal Maven)
Advertisement
- Generate archetype
Buka terminal atau command prompt pada mesin komputer, lalu ketik perintah berikut untuk membuat sebuah project maven
mvn archetype:generate -DgroupId=com.subrutin -DartifactId=maven-javafx -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false
Ketika pertama kali mengeksekusi perintah tersebut, Maven akan terhubung ke internet dan proses akan memakan waktu beberapa saat tergantung koneksi internet yang digunakan. Namun ketika perintah tersebut dijalankan untuk kedua kalinya dan selanjutnya, Maven tidak perlu lagi terhubung ke internet. Karena archetype tersebut telah disimpan di dalam cache folder m2 maven.
- Ubah pom.xml
Ubah project java untuk Java 11 dengan mengganti tag maven.compiler.source dan mave.compiler.target pada pom.xml menjadi 11
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
</properties>
Berikutnya tambahkan dependensi javafx-controls pada tag dependecies
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>11</version>
</dependency>
Lalu tambahkan plugin javafx di dalam tag plugins
<plugin>
<groupId>org.openjfx</groupId>
<artifactId>javafx-maven-plugin</artifactId>
<version>0.0.3</version>
<configuration>
<mainClass>com.subrutin.javafx.App</mainClass>
</configuration>
</plugin>
Advertisement
Hasil akhir pom.xml yang telah diubah adalah sebagai berikut
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.subrutin</groupId>
<artifactId>maven-javafx</artifactId>
<version>1.0-SNAPSHOT</version>
<name>maven-javafx</name>
<!-- FIXME change it to the project's website -->
<url>https://subrutin.com</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>11</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<pluginManagement><!-- lock down plugins versions to avoid using Maven
defaults (may be moved to parent pom) -->
<plugins>
<plugin>
<groupId>org.openjfx</groupId>
<artifactId>javafx-maven-plugin</artifactId>
<version>0.0.3</version>
<configuration>
<mainClass>com.subrutin.javafx.App</mainClass>
</configuration>
</plugin>
<!-- clean lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#clean_Lifecycle -->
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<!-- default lifecycle, jar packaging: see https://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_jar_packaging -->
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.2</version>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
</plugin>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>3.0.2</version>
</plugin>
<plugin>
<artifactId>maven-install-plugin</artifactId>
<version>2.5.2</version>
</plugin>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.2</version>
</plugin>
<!-- site lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#site_Lifecycle -->
<plugin>
<artifactId>maven-site-plugin</artifactId>
<version>3.7.1</version>
</plugin>
<plugin>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>3.0.0</version>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>
- Import Project ke IDE
Setelah pengatuan pom.xml selesei dilakukan, programmer dapat mengimpor project ke dalam IDE atau text editor yang disukai (dapat menggunakan Eclipse IDE, IntelijIDEA atau VSCode)
Misalnya jika menggunakan Eclipse IDE, melaui menu File > Import > Existing Maven Projects lalu pilih project mana yang ingin diimpor
- Ubah program App
Ubah program pada App.java menjadi sebagai berikut
package com.subrutin.javafx;
import javafx.application.Application;
import javafx.stage.Stage;
/**
* Hello world!
*
*/
public class App extends Application
{
public static void main( String[] args )
{
Application.launch(args);
}
@Override
public void start(Stage primaryStage) throws Exception {
primaryStage.setTitle("My First JavaFX App using Maven");
primaryStage.show();
}
}
- Menjalankan Program
Terlebih dahulu pastikan mainClass pada konfigurasi pugin javafx-maven-plugin pada pom.xml telah sesuai.
<plugin>
<groupId>org.openjfx</groupId>
<artifactId>javafx-maven-plugin</artifactId>
<version>0.0.3</version>
<configuration>
<mainClass>com.subrutin.javafx.App</mainClass>
</configuration>
</plugin>
Programmer dapat menjalankan program dengan menggunakan perintah berikut
mvn clean javafx:run
advertisement


