我有一个Java控制台应用程序,当我运行java -jar jarfile.jar <args>
时,它会在Mac(屏幕顶部的菜单栏)上打开系统菜单栏。我不使用Swing,也没有任何GUI。菜单栏中的应用程序名称仅为<package>.<mainClass>
,该菜单仅包含例如关于,退出。Java Jar控制台应用程序打开Mac系统菜单栏
由于我在运行脚本时多次调用此函数,这对我来说有点令人不安,我想禁用它。
我使用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
,但这对我也没有任何影响。
谢谢!那工作。 – dinfuehr