繁体   English   中英

Java Mac App隐藏底座图标

[英]Java Mac App Hiding Dock Icon

我最近用Eclipse编写了一个小型Java应用程序,并使用Apple的Jar Bundler打包了导出的Runnable Jar。 一切正常,除了我的用于在扩展坞中隐藏应用程序图标的plist键。 我尝试了以前使用过的先前的plist键来隐藏我的停靠图标,但是它们不起作用。 我运行我的应用程序,该图标显示在扩展坞中,然后在那儿弹跳一会儿,然后它停止弹跳而就坐在那儿。 我不希望显示Dock图标,也不希望系统托盘图标。 我只需要我的应用程序在后台运行即可。

我尝试过的钥匙,没有运气。

apple.awt.UIElement是

在Plist编辑器中将应用程序代理(UIElement)设置为True / Yes

更新:这是我的清单。 我的应用仍然在码头上弹跳。 如果我让它坐一会儿,它将最终开始工作。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>LSUIElement</key>
    <string>1</string>
    <key>CFBundleName</key>
    <string>My App</string>
    <key>CFBundleIdentifier</key>
    <string>org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader</string>
    <key>CFBundleVersion</key>
    <string>100.0</string>
    <key>CFBundleAllowMixedLocalizations</key>
    <string>true</string>
    <key>CFBundleExecutable</key>
    <string>JavaApplicationStub</string>
    <key>CFBundleDevelopmentRegion</key>
    <string>English</string>
    <key>CFBundlePackageType</key>
    <string>APPL</string>
    <key>CFBundleSignature</key>
    <string>????</string>
    <key>CFBundleGetInfoString</key>
    <string>My App</string>
    <key>CFBundleInfoDictionaryVersion</key>
    <string>6.0</string>
    <key>CFBundleIconFile</key>
    <string>icon.icns</string>
    <key>Java</key>
    <dict>
        <key>WorkingDirectory</key>
        <string>$APP_PACKAGE/Contents/Resources/Java</string>
        <key>MainClass</key>
        <string>org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader</string>
        <key>JVMVersion</key>
        <string>1.6+</string>
        <key>ClassPath</key>
        <string>$JAVAROOT/myapp.jar</string>
        <key>Properties</key>
        <dict/>
    </dict>
</dict>
</plist>

更新2:当我使用终端命令sudo open /Applications/MyJava.app运行我的Java应用程序时,它运行良好。 如果我正常运行我的应用程序,并让它在扩展坞上弹起一段时间,它将最终运行。 我宁愿不提示用户输入凭据以仅运行我的简单应用程序。

在您的plist中: java -Djava.awt.headless=true

要么

在您的代码中: System.setProperty("java.awt.headless", "true");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM