# gatling with maven

**URL:** <https://community.gatling.io/t/gatling-with-maven/3559>\
**Category:** Gatling (Open-Source)\
**Created:** [February 14, 2017, 9:00am UTC](https://community.gatling.io/t/gatling-with-maven/3559 "2017-02-14T09:00:53Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Paul\_Reicherzer](https://avatars.discourse-cdn.com/v4/letter/p/f14d63/32.png) [@Paul\_Reicherzer](https://community.gatling.io/u/Paul_Reicherzer)\
**Post date:** [February 14, 2017, 9:00am UTC](https://community.gatling.io/t/gatling-with-maven/3559/1 "2017-02-14T09:00:53Z")

</div>

Hey folks,

I’m struggling with gatling and maven.  
This is my testclass “SendNotificationsWithManyUnknownSubscribers” laying in src/test/gatlingTest:

`

```auto
package gatlingTest

import io.gatling.core.Predef._
import io.gatling.http.Predef._
class SendNotificationsWithManyUnknownSubscribers extends Simulation {

  val httpConf = http
    .baseURL("http://www.google.de")

  val scn = scenario("SendNotificationsWithManyUnknownSubscribers")
      .exec(http("Get auf google")
          .get("/"))

  setUp(scn.inject(atOnceUsers(1)).protocols(httpConf))
}

```

`

My maven configuration:

`

```auto
<plugin>
    <groupId>io.gatling</groupId>
    <artifactId>gatling-maven-plugin</artifactId>
    <version>2.2.1</version>
    <configuration>
        <simulationsFolder>src/test/gatlingTest</simulationsFolder>
        <simulationClass>SendNotificationsWithManyUnknownSubscribers</simulationClass>
    </configuration>
    <executions>
        <execution>
            <goals>
                <goal>integration-test</goal>
            </goals>
        </execution>
    </executions>
</plugin>

```

`

If I ran the maven task with  
`

```auto
mvn clean install gatling:integration-test

```

`

It produces the following error:

`java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at io.gatling.mojo.MainWithArgsInFile.runMain(MainWithArgsInFile.java:50) at io.gatling.mojo.MainWithArgsInFile.main(MainWithArgsInFile.java:33) Caused by: java.lang.IllegalArgumentException: The requested class 'SendNotificationsWithManyUnknownSubscribers' can not be found in the classpath or does not extends Simulation. at io.gatling.app.Selection$Selector.io$gatling$app$Selection$Selector$$$anonfun$6(Selection.scala:80) at io.gatling.app.Selection$Selector$$Lambda$31/460741164.apply(Unknown Source) at scala.Option.flatMap(Option.scala:171) at io.gatling.app.Selection$Selector.singleSimulationFromConfig$1(Selection.scala:73) at io.gatling.app.Selection$Selector.io$gatling$app$Selection$Selector$$$anonfun$8(Selection.scala:97) at io.gatling.app.Selection$Selector$$Lambda$30/1896074070.apply(Unknown Source) at scala.Option.orElse(Option.scala:289) at io.gatling.app.Selection$Selector.trySelectingSingleSimulation(Selection.scala:97) at io.gatling.app.Selection$Selector.selection(Selection.scala:40) at io.gatling.app.Selection$.apply(Selection.scala:33) at io.gatling.app.Runner.run0(Runner.scala:78) at io.gatling.app.Runner.run(Runner.scala:64) at io.gatling.app.Gatling$.start(Gatling.scala:56) at io.gatling.app.Gatling$.fromArgs(Gatling.scala:41) at io.gatling.app.Gatling$.main(Gatling.scala:33) at io.gatling.app.Gatling.main(Gatling.scala) ... 6 more`

I’ve tried everything trying to find the Simulationclass via the configuration but nothing helped.  
Do you have any ideas?

---

<div class="post-metadata">

**Author:** ![Barry\_Perez](https://avatars.discourse-cdn.com/v4/letter/b/7ba0ec/32.png) [@Barry\_Perez](https://community.gatling.io/u/Barry_Perez)\
**Post date:** [February 14, 2017, 9:15am UTC](https://community.gatling.io/t/gatling-with-maven/3559/2 "2017-02-14T09:15:05Z")

</div>

How about like this? It find the simulation file if you include the package name in the simulationClass?

```auto
    <configuration>
        <simulationsFolder>src/test</simulationsFolder>
        <simulationClass>gatlingTest.SendNotificationsWithManyUnknownSubscribers</simulationClass>

```

```auto
    </configuration>

```

---

<div class="post-metadata">

**Author:** ![Paul\_Reicherzer](https://avatars.discourse-cdn.com/v4/letter/p/f14d63/32.png) [@Paul\_Reicherzer](https://community.gatling.io/u/Paul_Reicherzer)\
**Post date:** [February 14, 2017, 9:20am UTC](https://community.gatling.io/t/gatling-with-maven/3559/3 "2017-02-14T09:20:16Z")

</div>

Doing this lets crash the ZincCompiler:

`10:18:43.658 [main][ERROR][ZincCompiler.scala:156] i.g.c.ZincCompiler$ - Compilation crashed java.io.IOException: CreateProcess error=2, Das System kann die angegebene Datei nicht finden (System cannot find File...) at java.lang.ProcessImpl.create(Native Method) at java.lang.ProcessImpl.<init>(ProcessImpl.java:386) at java.lang.ProcessImpl.start(ProcessImpl.java:137) at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029) ... 67 common frames omitted Wrapped by: java.io.IOException: Cannot run program "javac": CreateProcess error=2, Das System kann die angegebene Datei nicht finden at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048) at sbt.SimpleProcessBuilder.run(ProcessImpl.scala:349) at sbt.AbstractProcessBuilder.run(ProcessImpl.scala:128) at sbt.AbstractProcessBuilder$$anonfun$runBuffered$1.apply(ProcessImpl.scala:159) at sbt.AbstractProcessBuilder$$anonfun$runBuffered$1.apply(ProcessImpl.scala:159) at sbt.compiler.JavacLogger.buffer(AggressiveCompile.scala:237) at sbt.AbstractProcessBuilder.runBuffered(ProcessImpl.scala:159) at sbt.AbstractProcessBuilder.$bang(ProcessImpl.scala:156) at sbt.compiler.AggressiveCompile$$anonfun$forkJavac$1.apply(AggressiveCompile.scala:215) at sbt.compiler.AggressiveCompile$$anonfun$forkJavac$1.apply(AggressiveCompile.scala:210) at sbt.compiler.JavaCompiler$$anonfun$forkJavac$1.sbt$compiler$JavaCompiler$$anonfun$$externalJavac$1(JavaCompiler.scala:122) at sbt.compiler.JavaCompiler$$anonfun$forkJavac$1$$anonfun$apply$2.apply(JavaCompiler.scala:123) at sbt.compiler.JavaCompiler$$anonfun$forkJavac$1$$anonfun$apply$2.apply(JavaCompiler.scala:123) at sbt.compiler.JavaCompiler$$anonfun$withArgumentFile$1.apply(JavaCompiler.scala:152) at sbt.compiler.JavaCompiler$$anonfun$withArgumentFile$1.apply(JavaCompiler.scala:149) at sbt.IO$.withTemporaryDirectory(IO.scala:291) at sbt.compiler.JavaCompiler$.withArgumentFile(JavaCompiler.scala:149) at sbt.compiler.JavaCompiler$$anonfun$forkJavac$1.apply(JavaCompiler.scala:123) at sbt.compiler.JavaCompiler$$anonfun$forkJavac$1.apply(JavaCompiler.scala:118) at sbt.compiler.JavaCompiler$$anonfun$directOrForkJavac$1.apply(JavaCompiler.scala:114) at sbt.compiler.JavaCompiler$$anonfun$directOrForkJavac$1.apply(JavaCompiler.scala:109) at sbt.compiler.JavaCompiler$JavaTool0.compile(JavaCompiler.scala:95) at sbt.compiler.JavaTool$class.apply(JavaCompiler.scala:54) at sbt.compiler.JavaCompiler$JavaTool0.apply(JavaCompiler.scala:84) at sbt.compiler.JavaCompiler$class.compile(JavaCompiler.scala:35) at sbt.compiler.JavaCompiler$JavaTool0.compile(JavaCompiler.scala:84) at sbt.compiler.JavaCompiler$class.compileWithReporter(JavaCompiler.scala:40) at sbt.compiler.JavaCompiler$JavaTool0.compileWithReporter(JavaCompiler.scala:84) at sbt.compiler.AggressiveCompile$$anonfun$3$$anonfun$compileJava$1$1.apply$mcV$sp(AggressiveCompile.scala:121) at sbt.compiler.AggressiveCompile$$anonfun$3$$anonfun$compileJava$1$1.apply(AggressiveCompile.scala:121) at sbt.compiler.AggressiveCompile$$anonfun$3$$anonfun$compileJava$1$1.apply(AggressiveCompile.scala:121) at sbt.compiler.AggressiveCompile.sbt$compiler$AggressiveCompile$$timed(AggressiveCompile.scala:168) at sbt.compiler.AggressiveCompile$$anonfun$3.compileJava$1(AggressiveCompile.scala:120) at sbt.compiler.AggressiveCompile$$anonfun$3.apply(AggressiveCompile.scala:142) at sbt.compiler.AggressiveCompile$$anonfun$3.apply(AggressiveCompile.scala:84) at sbt.inc.IncrementalCompile$$anonfun$doCompile$1.apply(Compile.scala:66) at sbt.inc.IncrementalCompile$$anonfun$doCompile$1.apply(Compile.scala:64) at sbt.inc.IncrementalCommon.cycle(IncrementalCommon.scala:31) at sbt.inc.Incremental$$anonfun$1.apply(Incremental.scala:62) at sbt.inc.Incremental$$anonfun$1.apply(Incremental.scala:61) at sbt.inc.Incremental$.manageClassfiles(Incremental.scala:89) at sbt.inc.Incremental$.compile(Incremental.scala:61) at sbt.inc.IncrementalCompile$.apply(Compile.scala:54) at sbt.compiler.AggressiveCompile.compile2(AggressiveCompile.scala:159) at sbt.compiler.AggressiveCompile.compile1(AggressiveCompile.scala:68) at com.typesafe.zinc.Compiler.compile(Compiler.scala:201) at com.typesafe.zinc.Compiler.compile(Compiler.scala:183) at com.typesafe.zinc.Compiler.compile(Compiler.scala:174) at com.typesafe.zinc.Compiler.compile(Compiler.scala:165) at io.gatling.compiler.ZincCompiler$$anonfun$7.apply(ZincCompiler.scala:154) at io.gatling.compiler.ZincCompiler$$anonfun$7.apply(ZincCompiler.scala:154) at scala.util.Try$.apply(Try.scala:161) at io.gatling.compiler.ZincCompiler$delayedInit$body.apply(ZincCompiler.scala:154) at scala.Function0$class.apply$mcV$sp(Function0.scala:40) at scala.runtime.AbstractFunction0.apply$mcV$sp(AbstractFunction0.scala:12) at scala.App$$anonfun$main$1.apply(App.scala:71) at scala.App$$anonfun$main$1.apply(App.scala:71) at scala.collection.immutable.List.foreach(List.scala:318) at scala.collection.generic.TraversableForwarder$class.foreach(TraversableForwarder.scala:32) at scala.App$class.main(App.scala:71) at io.gatling.compiler.ZincCompiler$.main(ZincCompiler.scala:36) at io.gatling.compiler.ZincCompiler.main(ZincCompiler.scala) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at io.gatling.mojo.MainWithArgsInFile.runMain(MainWithArgsInFile.java:50) at io.gatling.mojo.MainWithArgsInFile.main(MainWithArgsInFile.java:33)`

---

<div class="post-metadata">

**Author:** ![Barry\_Perez](https://avatars.discourse-cdn.com/v4/letter/b/7ba0ec/32.png) [@Barry\_Perez](https://community.gatling.io/u/Barry_Perez)\
**Post date:** [February 14, 2017, 9:53am UTC](https://community.gatling.io/t/gatling-with-maven/3559/4 "2017-02-14T09:53:00Z")

</div>

OK, this next error suggests that your paths aren’t setup properly - your java compiler can’t be found. Sort that out and hopefully your simulation will run successfully.
