我有一個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