我使用jpackage制作了一个应用程序。当我尝试打开应用程序时,除了图标出现在dock中(上下跳动)之外什么都没有发生,1秒后它又关闭了。然而,如果我运行Asteroids.app > Contents > MacOS > Asteroids.exe
,它工作得很好。
我做错了什么,我怎么能解决这个问题?
应用程序内容:
/Applications/Asteroids.app/Contents
├── Info.plist
├── MacOS
│ └── Asteroids.exe
├── PkgInfo
├── Resources
│ └── Asteroids.icns
├── app
│ ├── Asteroids.cfg
│ └── prosjekt_boilerplate-1.0-SNAPSHOT-jar-with-dependencies.jar
└── runtime
└── Contents
├── Home
├── Info.plist
└── MacOS
您的可执行文件工作。这是个好消息。仍然无法从UI启动应用程序。
请注意,弹跳的应用程序图标是窗口管理器为任何类型的应用程序提供的通用动画,作为用户反馈,直到应用程序打开它的窗口或超时发生。即使你的应用程序根本没有启动,也会发生这种情况。
所以你需要看看启动指令,它告诉窗口管理器如何启动你的应用程序。如果它是一个Freedesktop.org的东西,我会说确保jpackage手边有一些Asteroids.desktop文件。在MacOS上,我无法判断您是否需要类似的文件,或者是否所有文件都在Info.plist中完成。
这两个话题可能会帮助你走得更远:
- JPackage Documentation for launcher
- 桌面入口规范