FreeBSD Java Cara Menjalankan Exec Maven Plugin
· 2 min read · Label UnixBSD
Saat membuat proyek dengan Maven, kita sering kali perlu menjalankan file Java dengan baris perintah dan memberikan argumen. Namun, ini mungkin sedikit rumit karena Maven menggunakan struktur direktori dan proses pembuatan yang khusus. Dalam artikel ini, kita akan menjalankan file Java dengan plugin Maven exec.
Plugin Maven Exec merupakan salah satu plugin yang tersedia di Maven, plugin ini dikembangkan oleh proyek MojoHaus. Plugin Maven Exec membantu kita menjalankan Java dan program lain menggunakan Maven.
Plugin Maven exec memungkinkan kita menjalankan sistem dan program Java dengan perintah maven. Plugin maven exec memiliki tiga fungsi utama:
Kita akan mempelajari cara mengeksekusi kode ini menggunakan Maven.
Potongan kode ini harus disertakan di bawah tag build -> plugins. Seluruh skrip pom.xml akan terlihat seperti ini.
Plugin Maven Exec merupakan salah satu plugin yang tersedia di Maven, plugin ini dikembangkan oleh proyek MojoHaus. Plugin Maven Exec membantu kita menjalankan Java dan program lain menggunakan Maven.
Plugin Maven exec memungkinkan kita menjalankan sistem dan program Java dengan perintah maven. Plugin maven exec memiliki tiga fungsi utama:
- exec:exec, dapat digunakan untuk menjalankan program apa pun dalam proses terpisah.
- exec:java, dapat digunakan untuk menjalankan program Java pada VM yang sama.
- exec:help, Menampilkan informasi tentang plugin ini.
Membuat Sebuah Sampel Project Maven
Kami akan mendemonstrasikan penggunaan plugin Maven exec menggunakan contoh proyek. Kami telah membuat proyek Maven sederhana untuk pekerjaan ini.
Jalankan perintah mvn archetype:generate untuk mulai mengerjakan contoh proyek dengan plugin maven exec.
Proyek ini berisi satu paket yang bernama, "App.java", yang memiliki satu kelas bernama App. Kelas App memiliki metode main seperti ini.
package com.unixwinbsd;
public class App
{
public static void main( String[] args ) {
System.out.print(args.length);
System.out.print(" args:");
for (String s: args) {
System.out.printf(" <%s>", s);
}
System.out.println();
}
}
Membuat File pom.xml
Hal pertama yang perlu kita lakukan adalah menambahkan plugin maven exec ke berkas pom.xml. Tambahkan kode berikut ke berkas pom.xml. <plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
</plugin>
<?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.unixwinbsd</groupId>
<artifactId>maven-exec-args</artifactId>
<version>1.0-SNAPSHOT</version>
<name>my-app</name>
<!-- FIXME change it to the project's website -->
<url>http://www.example.com</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
<!--
<exec.args>exec.args property</exec.args>
<exec.arguments>exec.arguments,property</exec.arguments>
-->
<!-- If both are set, exec.args takes priority -->
</properties>
<dependencies>
<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>
<!-- 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>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<executions>
<execution>
<id>e1</id>
<goals>
<goal>java</goal>
</goals>
</execution>
</executions>
<configuration>
<mainClass>com.unixwinbsd.App</mainClass>
<!--
<commandlineArgs>"arg 1" 'arg 2' "O'Reilly"</commandlineArgs>
<arguments>
<argument>argument 1</argument>
<argument>argument 2</argument>
</arguments>
-->
</configuration>
</plugin>
</plugins>
</build>
</project>
Cara Mengkompile Project Maven
Kompilasi kode sebelum dijalankan, karena exec:java tidak akan mengkompilasi kode secara otomatis, Anda perlu menjalankan mvn compile secara manual untuk menyelesaikan kode yang telah kita tulis.Anda juga dapat mengompilasi menggunakan exec:java. Untuk melakukannya, kita dapat menggunakan exec-maven-plugin. Untuk lebih spesifik, target exec:java dari plugin ini mengeksekusi kelas Java yang disediakan dengan dependensi proyek yang dilampirkan sebagai classpath. Untuk mengeksekusi metode kelas utama Exec, kita harus meneruskan nama kelas lengkap ke plugin maven exec.
Setelah kompilasi selesai, sekarang, mari kita coba jalankan plugin goal. Ketik.
Jalankan -Dexec.arguments
Lihat hasilnya.
5 args: <O'Reilly> <The answer is "yes"> <"red> < white> < and blue">
Jalankan dengan -Dexec.args
Lihat hasilnya.
3 args: <O'Reilly> <The answer is "yes"> <red, white, and blue>
Plugin Maven exec Sangat berguna dan penting untuk mengeksekusi kode Java dan sistem dari perintah maven. Ada dua tujuan yang digunakan, yaitu exec: exec dan exec: java. Untuk menggunakannya dalam sebuah proyek, kita perlu mengonfigurasinya dalam file pom.xml.
Silahkan Berkomentar, Kakak...! Bunda...!
Posting Komentar