【问题标题】:Unrecognized VM option 'AggressiveOpts'无法识别的 VM 选项“AggressiveOpts”
【发布时间】:2020-10-24 04:07:28
【问题描述】:

我正在尝试使用 Java 8 在 intelliJ 中运行我的 gatling 项目。 我知道 VM 选项“AggressiveOpts”在 Java 11 中已被弃用并在 Java 12 中被删除,但我想知道为什么我在 Java 8 中收到此错误?

我已将我的项目 SDK 更新为 java 8,并将我的 intelliJ 启动运行时更新为 Java 8,但这似乎不起作用。

我已经卸载了 Java 和 IntelliJ 并再次干净地安装了它们,但这并没有解决问题。

我也尝试过使用不同的 IDE,即 VSC(Visual Studio Code),但我得到的错误与我在 intelliJ 中所做的相同。

Unrecognized VM option 'AggressiveOpts'
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

我当前的 Java 版本是 1.8.0_181

我当前的 Gatling 版本是 3.3.1

如果有帮助,我正在使用 gradle 并且版本是 4.8.1

谁能帮忙解决这个问题?

编辑:添加 build.gradle 代码

请在此处查看 build.gradle: https://pastebin.com/MigH0Gxz

【问题讨论】:

  • 嗨,你能分享你的 build.gradle 吗?
  • 您必须共享您的构建文件,以便其他人能够理解该问题
  • 1) 选项为“-XX:+AggressiveOpts”或“-XX:-AggressiveOpts”。您是否包含 -XX: 前缀? 2) 你确定你是用 Java 8 编译的吗? gradle -V 对此有何评论?
  • @TomasZezula 我已经更新了最初的问题并包含了 build.gradle 文件
  • @kaushik 我已经更新了最初的问题并包含了 build.gradle 文件

标签: java scala gradle intellij-idea gatling


【解决方案1】:

如果您向我们展示的内容是准确的,那么您根本不会在 Gradle 文件中提及 AggressiveOpts。

我在 Gatling 问题跟踪器中发现了一个问题,当您尝试在较新的 JVM 上运行 Gatling 时,它提到这是一个问题。该问题的含义是 Gatling 正在提供 JVM 选项本身。

但是:

  • 该问题显然已在 Gatling 3.3.0 中得到解决(请参阅 issue 3807)
  • 只有在使用 Java 12+ JVM 运行 Gatling 时才会影响您。

后者表明(尽管您说您正在使用 Java 8 运行 Gradle 构建)Gatling 实际上使用的是更高版本的 Java。

不管怎样,修​​复此问题的变更集只是从gatling.bat 和gatling.sh 文件中删除了未知标志。您可以找到并检查与您的平台相关的任何文件,然后手动删除不受支持的选项。或者您可以尝试弄清楚 Gatling 如何决定使用哪个 JVM。

【讨论】:

    【解决方案2】:

    唯一可能的解释是您的机器上安装了多个 JDK 版本,并且在创建分叉的 Gatling 进程时 gradle 没有选择 1.8.0_181 而是 12+。您是否定义了 JAVA_HOME 环境变量,它指向哪里?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-04-29
      • 2016-08-26
      • 1970-01-01
      • 1970-01-01
      • 2016-05-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多