首页 > 解决方案 > 如何将 jwt.io Java 库导入 JMeter

问题描述

我正在尝试将 jjwt Java 库导入 JMeter,但出现以下错误;

错误 oajpjsJSR223Sampler:JSR223 脚本 JSR223 采样器中的问题,消息:javax.script.ScriptException:groovy.lang.MissingPropertyException:没有这样的属性:io 类:Script4

我正在尝试使用 jjwt Java 库https://github.com/jwtk/jjwt ... 可以在https://jwt.io/网站上找到。我已将文件添加到 JMeter 类路径并使用 JSR223 采样器在 Groovy 中编写脚本......但它似乎不接受它。我猜这是因为它需要 .jar 文件,但库是 .java 文件,也许?

任何关于如何导入这个 jjwt 库的理论将不胜感激。

这里还有另一个帖子;如何使用 RSA 256 私钥在 JMETER 上生成 JWT 令牌所需的库或 jar 文件?讨论了这种方法并表明它应该有效。

标签: javaimportjarjmeterjwt

解决方案


.java 文件是“文本”文件,需要先将它们编译成 .class 文件,然后才能在 JVM 中运行它们。您可以从Maven Central下载预构建的 .jar (确保也获取所有依赖项),或者如果您更喜欢“硬”方式:

  1. 安装 Apache Maven

  2. 在某处创建一个名为pom.xml的文件,其中包含以下内容

    <?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>org.example</groupId>
        <artifactId>jwt</artifactId>
        <version>1.0-SNAPSHOT</version>
    
        <properties>
            <maven.compiler.source>8</maven.compiler.source>
            <maven.compiler.target>8</maven.compiler.target>
        </properties>
    
        <dependencies>
            <dependency>
                <groupId>io.jsonwebtoken</groupId>
                <artifactId>jjwt-api</artifactId>
                <version>0.11.2</version>
            </dependency>
            <dependency>
                <groupId>io.jsonwebtoken</groupId>
                <artifactId>jjwt-impl</artifactId>
                <version>0.11.2</version>
                <scope>runtime</scope>
            </dependency>
            <dependency>
                <groupId>io.jsonwebtoken</groupId>
                <artifactId>jjwt-jackson</artifactId> <!-- or jjwt-gson if Gson is preferred -->
                <version>0.11.2</version>
                <scope>runtime</scope>
            </dependency>
    
            <dependency>
                <groupId>org.bouncycastle</groupId>
                <artifactId>bcprov-jdk15on</artifactId>
                <version>1.60</version>
                <scope>runtime</scope>
            </dependency>
        </dependencies>
    
    </project>
    
  3. 在终端应用程序中打开该文件夹

  4. 执行mvn dependency:copy-dependencies命令

  5. 将所有内容从target/dependency文件夹复制到 JMeter 安装的“lib”文件夹(或JMeter Classpath中的其他位置)

  6. 重启 JMeter

  7. JSR223 Sampler添加到您的测试计划中,并使用 jjwt 库函数将您的Groovy代码放在那里。


推荐阅读