You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

IntelliJ IDEA中Plotly代码运行正常但无窗口显示的解决方法

解决IntelliJ IDEA中Scala Plotly代码无法显示预期窗口的问题

我的以下代码可正常执行,但无法显示预期的窗口。我认为这是因IntelliJ IDEA仅启动控制台,阻碍窗口显示所致。请问该如何解决?IDE内是否有相关选项可检查?

import co.theasi.plotly.{Plot, draw}
object Main {
  def main(args : Array[String]) : Unit = {
    val xs = 0.0 to 2.0 by 0.1
    val ys = xs.map { x => x*x }
    val plot = Plot().withScatter(xs, ys)
    draw(plot, "my-first-plot")
  }
}

你猜的没错,IntelliJ的运行配置确实可能影响窗口/外部程序的弹出,同时还有个小细节需要注意,咱们一步步来解决:

一、调整运行配置,解除窗口显示限制

  1. 点击IDE右上角的运行配置下拉框,选择Edit Configurations...
  2. 在弹出的配置窗口中,找到当前运行Main类的配置项
  3. 切换到Configuration标签页,如果看不到VM options输入框,就点击上方的Modify options,勾选Add VM options
  4. 在输入框中添加参数:-Djava.awt.headless=false
    • 这个参数会关闭Java的无头模式,强制允许程序启动图形相关的窗口或外部程序
  5. 点击Apply保存配置,重新运行代码即可

二、检查IDE是否拦截了外部程序启动

IntelliJ默认可能会阻止程序启动外部浏览器,你可以这样排查:

  • 打开File > Settings > Tools > Web Browsers
  • 确认常用的浏览器已添加到列表,且设置为默认浏览器
  • 留意IDE右下角是否有"External program launch blocked"的提示,若有点击允许即可

三、关于Plotly输出的小说明

其实你调用的draw()方法默认是生成HTML文件并在浏览器中打开,而非弹出桌面窗口。如果浏览器没自动打开:

  • 去项目根目录下的plotly文件夹里找,会有一个以my-first-plot命名的HTML文件,手动打开就能看到图表
  • 如果确实需要桌面窗口显示,你得改用Plotly的离线桌面渲染模式(不过浏览器预览是更常用的方式)

四、确认JDK版本是否完整

有些精简版JDK(比如headless JDK)去掉了图形相关组件,会导致窗口无法启动:

  • 打开File > Project Structure > Project
  • 确认项目使用的是完整的标准版JDK(比如Oracle JDK或OpenJDK标准版,避开headless版本)

按上面的步骤操作后,应该就能正常看到你的Plotly图表啦!


内容的提问来源于stack exchange,提问作者JarsOfJam-Scheduler

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 03:33:10