gpt4 book ai didi

Java Jar 控制台应用程序打开 Mac 系统菜单栏

转载 作者:行者123 更新时间:2023-11-30 06:12:09 25 4
gpt4 key购买 nike

我有一个 Java 控制台应用程序,当我运行 java -jar jarfile.jar <args> 时,它会在 Mac 上打开系统菜单栏(屏幕顶部的菜单栏) .我不使用 Swing,也没有任何 GUI。菜单栏中的应用程序名称只是 <package>.<mainClass> ,菜单仅包含例如关于,退出。

因为我在运行脚本时多次调用它,这对我来说有点令人不安,我想禁用它。

我正在使用 gradle 进行构建,我是这样构建 jar 的:

jar {
baseName = 'appname'
from(configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }) {
exclude "META-INF/*.SF"
exclude "META-INF/*.DSA"
exclude "META-INF/*.RSA"
}

def commit = "git rev-parse --short HEAD".execute().text.trim()

manifest {
attributes(
'Implementation-Title': 'appname',
'Implementation-Version': '1.0',
'Commit-Id': commit,
'Built-By': System.getProperty('user.name'),
'Built-Date': new Date(),
'Built-JDK': System.getProperty('java.version'),
'Main-Class': mainClassName
)
}
}

dependencies {
compile 'com.lowagie:itext:2.1.3'
compile 'com.itextpdf:itext-hyph-xml:5.1.0'
}

这可能吗?您还需要其他信息吗?不幸的是,我不知道是什么原因导致菜单栏出现,所以我真的不知道我还应该提供什么。

我创建了一个示例 gradle-project:没有菜单栏,即使我添加了我的依赖项。我还尝试设置属性 apple.laf.useScreenMenuBar但这对我也没有任何影响。

最佳答案

如果添加以下命令行选项:

-Djava.awt.headless=true

到脚本中的 java 命令行,然后 AWT 将不会尝试初始化自身,并且不会显示菜单栏等 GUI 元素。

关于Java Jar 控制台应用程序打开 Mac 系统菜单栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33237133/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com