简体   繁体   English

为什么加特林项目不适用于 maven?

[英]Why gatling project don't work with maven?

I am starting with gatling, I have a project with maven with the latest versions of gatling and scala, I have already checked all the parameterization within the ide I have changed versions and nothing works我从加特林开始,我有一个 maven 的项目,带有最新版本的加特林和 scala,我已经检查了 ide 中的所有参数化,我已经更改了版本,但没有任何效果

here show my pom.xml这里显示我的 pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
         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>org.example</groupId>
    <artifactId>gatling-poc</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>14</maven.compiler.source>
        <maven.compiler.target>14</maven.compiler.target>
        <encoding>UTF-8</encoding>

        <gatling.version>3.8.4</gatling.version>
        <gatling-maven-plugin.version>4.2.7</gatling-maven-plugin.version>
    </properties>

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

    <build>
        <testSourceDirectory>src/test/scala</testSourceDirectory>
        <plugins>
            <plugin>
                <groupId>io.gatling</groupId>
                <artifactId>gatling-maven-plugin</artifactId>
                <version>${gatling-maven-plugin.version}</version>
            </plugin>
        </plugins>
    </build>
</project>
java.lang.ClassNotFoundException: io.gatling.core.check.FindCheckBuilder
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:602)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
    ... 25 common frames omitted
Wrapped by: java.lang.NoClassDefFoundError: io/gatling/core/check/FindCheckBuilder
    at java.base/java.lang.Class.forName0(Native Method)
    at java.base/java.lang.Class.forName(Class.java:340)
    at io.gatling.app.Selection$Selector.$anonfun$singleSimulationFromConfig$2(Selection.scala:76)
    at scala.util.Try$.apply(Try.scala:210)
    at io.gatling.app.Selection$Selector.findUserDefinedSimulationInClassloader$1(Selection.scala:76)
    at io.gatling.app.Selection$Selector.$anonfun$singleSimulationFromConfig$4(Selection.scala:91)
    at scala.Option.orElse(Option.scala:477)
    at io.gatling.app.Selection$Selector.$anonfun$singleSimulationFromConfig$3(Selection.scala:91)
    at scala.Option.flatMap(Option.scala:283)
    at io.gatling.app.Selection$Selector.singleSimulationFromConfig(Selection.scala:90)
    at io.gatling.app.Selection$Selector.$anonfun$selection$1(Selection.scala:52)
    at scala.Option.getOrElse(Option.scala:201)
    at io.gatling.app.Selection$Selector.selection(Selection.scala:44)
    at io.gatling.app.Selection$.apply(Selection.scala:36)
    at io.gatling.app.Runner.run(Runner.scala:49)
    at io.gatling.app.Gatling$.start(Gatling.scala:91)
    at io.gatling.app.Gatling$.fromArgs(Gatling.scala:53)
    at io.gatling.app.Gatling$.main(Gatling.scala:41)
    at io.gatling.app.Gatling.main(Gatling.scala)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:564)
    at io.gatling.plugin.util.MainWithArgsInFile.runMain(MainWithArgsInFile.java:53)
    at io.gatling.plugin.util.MainWithArgsInFile.main(MainWithArgsInFile.java:34)

How do I resolve this?我该如何解决这个问题?

I hope your help, please我希望你的帮助,请

Your configuration is correct, so if Gatling's classes can't be found in the classpath, it means that the jar in your local maven cache that's supposed to contain them is corrupted.您的配置是正确的,因此如果在类路径中找不到 Gatling 的类,则意味着本地 maven 缓存中应该包含它们的 jar 已损坏。

This can happen on poor networks and sadly maven doesn't verify the checksum to make sure downloads are not corrupted.这可能发生在较差的网络上,遗憾的是 maven 没有验证校验和以确保下载没有损坏。

Remove io.gatling:gatling-core from your local maven cache (by default in ~/.m2 .从本地 maven 缓存中删除io.gatling:gatling-core (默认为~/.m2

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM