Misunderstanding with the installation gatling 3.14.3

According to this instruction Gatling installation with the bundle, build tool, or package manager i try to install Gatling to my project.
I have a Spring Boot 3.5.3 and i added latest gatling as maven dependencies

<plugin>
<groupId>io.gatling</groupId>
<artifactId>gatling-maven-plugin</artifactId>
<version>4.19.1</version>
</plugin>

<dependencies>
<dependency>
  <groupId>io.gatling.highcharts</groupId>
  <artifactId>gatling-charts-highcharts</artifactId>
  <version>3.14.3</version>
  <scope>test</scope>
</dependency>
</dependencies>

When i run command ./mvnw clean gatling:test the project crashed and as far as i understand thats because of version conflict Netty.

Next step i try to run gatling as independent java application.

On this page Gatling installation with the bundle, build tool, or package manager i downloaded two archive

  1. Install Gatling using a ZIP file for build tools#

    Download Gatling for Maven-Java (gatling-maven-plugin-demo-java-main.zip)

  2. Use the standalone bundle#

    Download for Gatling bundle (gatling-charts-highcharts-bundle-3.14.3-bundle.zip)

I extract and investigate this two archive and they absolutely the same. What sens to create two similar link ?

The next two commands:

    cd gatling-maven-plugin-demo-java-main
    ./mvnw clean gatling:test

The project finished successfully and test BasicSimulation.java passed.
My custom gatling test located in my spring boot application.
Is it possible to specify with an argument where my tests are located? Otherwise I will be forced to copy and paste test from my-spring-boot-app/test directory to gatling-maven-plugin-demo-java-main .
Something like:

./mvnw clean gatling:test -- test-location= /path/to/my/tests/files

Is it possible to configure Gatling and make it as a global command line command ?
Correct me if i do or understand something wrong.

the project crashed and as far as i understand thats because of version conflict Netty.

Don’t share the classpath between your Java application and your Gatling tests.

I extract and investigate this two archive and they absolutely the same .

They are not. You’re not display hidden folders (name starting with a dot).

Is it possible to specify with an argument where my tests are located?

No

Otherwise I will be forced to copy and paste test

Wrong. You can have your Gatling maven project in a subfolder of your application code repository, without mixing with your application dependencies.


Do you mean create something like this project structure ?
I created gatling-tests package and separated pom.xml

<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>io.gatling.demo</groupId>
    <artifactId>gatling-test</artifactId>
    <version>3.14.3</version>

    <properties>
        <maven.compiler.release>11</maven.compiler.release>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <gatling.version>${project.version}</gatling.version>
        <gatling-maven-plugin.version>4.19.1</gatling-maven-plugin.version>
        <maven-compiler-plugin.version>3.14.0</maven-compiler-plugin.version>
        <maven-resources-plugin.version>3.3.1</maven-resources-plugin.version>
        <maven-jar-plugin.version>3.4.2</maven-jar-plugin.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>io.gatling.highcharts</groupId>
            <artifactId>gatling-charts-highcharts</artifactId>
            <version>${gatling.version}</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>${maven-compiler-plugin.version}</version>
            </plugin>
            <plugin>
                <artifactId>maven-resources-plugin</artifactId>
                <version>${maven-resources-plugin.version}</version>
            </plugin>
            <plugin>
                <artifactId>maven-jar-plugin</artifactId>
                <version>${maven-jar-plugin.version}</version>
            </plugin>
            <plugin>
                <groupId>io.gatling</groupId>
                <artifactId>gatling-maven-plugin</artifactId>
                <version>${gatling-maven-plugin.version}</version>
                <configuration>
                    <!-- Enterprise Cloud (https://cloud.gatling.io/) configuration reference: https://docs.gatling.io/reference/integrations/build-tools/maven-plugin/#running-your-simulations-on-gatling-enterprise-cloud -->
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

What happens if I do gatling-tests as a modlue and add to the parent pom.xml

<modules>
    <module>gatling-tests</module>
</modules>

i assume it will be crashed .

I assume it will be crashed .

Yes, most likely, because your application project is the parent and not a module.
If you want a global maven project, you must make your application a module too and define all your application dependencies in the module and not the parent.