FreeBSD Java Cara Menjalankan Exec Maven Plugin

· 2 min read

Plugin Maven exec Sangat berguna dan penting untuk mengeksekusi kode Java dan sistem dari perintah maven. Ada dua tujuan yang digunakan, yaitu exec: e

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:
  • 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.

Menjalankan plugin exec maven di FreeBSD




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.
root@ns7:/var # mvn archetype:generate -DgroupId=com.unixwinbsd -DartifactId=maven-exec-args -DinteractiveMode=false
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();
    }
}

Kita akan mempelajari cara mengeksekusi kode ini menggunakan Maven.


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>

Potongan kode ini harus disertakan di bawah tag build -> plugins. Seluruh skrip pom.xml akan terlihat seperti ini.

<?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.

root@ns7:/var/maven-exec-args # mvn compile && mvn package && mvn install
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.
root@ns7:/var/maven-exec-args # mvn compile exec:java -Dexec.mainClass="com.unixwinbsd.App.Exec"
root@ns7:/var/maven-exec-args # mvn package exec:java -Dexec.mainClass="com.unixwinbsd.App.Exec"
root@ns7:/var/maven-exec-args # mvn install exec:java -Dexec.mainClass="com.unixwinbsd.App.Exec"
Setelah kompilasi selesai, sekarang, mari kita coba jalankan plugin goal. Ketik.
root@ns7:/var/maven-exec-args # mvn exec:java -Dinput.name=mvnn
Jalankan -Dexec.arguments
root@ns7:/var/maven-exec-args # mvn exec:java -Dexec.mainClass="com.unixwinbsd.App" -Dexec.arguments='O'\''Reilly,The answer is "yes","red, white, and blue"'
Lihat hasilnya.

5 args: <O'Reilly> <The answer is "yes"> <"red> < white> < and blue">

Jalankan dengan -Dexec.args
root@ns7:/var/maven-exec-args # mvn exec:java -Dexec.mainClass="com.unixwinbsd.App" -Dexec.args='"O'\''Reilly" '\''The answer is "yes"'\'' "red, white, and blue"'
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.
Subscribe on LinkedIn FreeBSD Java Cara Menjalankan Exec Maven Plugin

Enclosures Link: FreeBSD Java Cara Menjalankan Exec Maven Plugin

Silahkan Berkomentar, Kakak...! Bunda...!

Posting Komentar