首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在MacOS上运行时,是否可以阻止PlantUML显示Java Duke图标

在MacOS上运行时,是否可以阻止PlantUML显示Java Duke图标
EN

Stack Overflow用户
提问于 2021-08-23 10:50:57
回答 1查看 80关注 0票数 0

当我在MacOS上使用我的Java代码中的PlantUML SourceStringReader时,Dock图标在我的Dock中弹来弹去。在加载第一个PlantUML类之前,该进程不会发生这种情况。

代码是

代码语言:javascript
复制
import net.sourceforge.plantuml.FileFormat
import net.sourceforge.plantuml.FileFormatOption
import net.sourceforge.plantuml.SourceStringReader
import java.io.ByteArrayOutputStream
import java.io.File

fun List<String>.toSvg(): String {
    val reader = SourceStringReader(this.joinToString("\n"))
    return ByteArrayOutputStream().use {
        val fileFormatOption = FileFormatOption(FileFormat.SVG)
        reader.generateImage(it, fileFormatOption)
        String(it.toByteArray(), Charsets.UTF_8)
    }
}

FileFormatOption(FileFormat.SVG)求值会使图标出现。

我的猜测是,PlantUML正在初始化一些图形子系统,导致Mac在底座上显示图标-我可以不显示图标吗?

EN

回答 1

Stack Overflow用户

发布于 2021-08-24 09:59:05

问题似乎是FileFormatOption加载了java.awt.geom.AffineTransform类,该类初始化了AWT,弹出了停靠图标。

在第一次调用PlantUML之前运行System.setProperty("java.awt.headless", "true")可以解决这个问题。

直接运行PlantUML时,有一个-headless选项:java -jar plantuml.jar -headless -verbose some-file

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68891307

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档