如何将基于Maven的gatling loadtest捆绑到一个JAR中?

时间:2015-01-08 19:26:21

标签: maven amazon-ec2 load-testing google-compute-engine gatling

我使用highcharts archetype创建了加特林负载测试。我决定不下载最新的Gatling ZIP文件并在解压缩的文件夹中创建模拟,因为我依赖公共和私有Maven存储库中的许多依赖项。

我想

  1. 将我的模拟及其所有依赖项捆绑到一个JAR中,
  2. 将JAR分发到EC2 / GCE
  3. 中的多个负载生成器
  4. 开始对所有远程负载生成器进行测试。
  5. Maven的assembly plugin看起来像是解决#1的明显候选人。所以我将以下内容添加到我的pom.xml中:

    <plugin>
      <artifactId>maven-assembly-plugin</artifactId>
      <configuration>
        <archive>
          <manifest>
            <mainClass>io.gatling.app.Gatling</mainClass>
          </manifest>
        </archive>
        <descriptorRefs>
          <descriptorRef>jar-with-dependencies</descriptorRef>
        </descriptorRefs>
      </configuration>
    </plugin>
    

    使用此配置,运行使用mvn clean package assembly:single创建的JAR文件会产生以下NoSuchFileException

    $ java -jar target/myapp-0.1-SNAPSHOT-jar-with-dependencies.jar
    Exception in thread "main" java.nio.file.NoSuchFileException: ./target/test-classes
    at sun.nio.fs.UnixException.translateToIOException(UnixException.java:86)
    at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
    at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
    at sun.nio.fs.UnixFileSystemProvider.newDirectoryStream(UnixFileSystemProvider.java:407)
    at java.nio.file.Files.newDirectoryStream(Files.java:457)
    at io.gatling.core.util.PathHelper$RichPath$.deepListAux$1(PathHelper.scala:99)
    at io.gatling.core.util.PathHelper$RichPath$.deepList$extension(PathHelper.scala:105)
    at io.gatling.core.util.PathHelper$RichPath$.deepFiles$extension(PathHelper.scala)
    at io.gatling.app.classloader.SimulationClassLoader.simulationClasses(SimulationClassLoader.scala:55)
    at io.gatling.app.Gatling.loadSimulations(Gatling.scala:92)
    at io.gatling.app.Gatling.start(Gatling.scala:70)
    at io.gatling.app.Gatling$.fromArgs(Gatling.scala:59)
    at io.gatling.app.Gatling$.main(Gatling.scala:44)
    at io.gatling.app.Gatling.main(Gatling.scala)
    
    • 这是我应该如何捆绑基于Maven的Gatling项目吗?
    • 在创建JAR文件时,我是否错误配置了Gatling的Maven插件?

    更新1:

    创建target/test-classes目录可以解决NoSuchFileException问题。然而,gatling然后找不到我的任何模拟。没有任何* .scala文件被添加到由程序集插件生成的JAR中。

0 个答案:

没有答案