2014-11-05 147 views
0

我想爲OSX打包Java應用程序。我在六個月前創建的舊版本可以正常工作。它全部位於一個名爲Intonia.app的目錄中,其中的jar文件位於Intonia.app/Contents/Resources/Java。我可以點擊Finder中的應用程序,我的代碼運行得很好。java osx應用程序無法啓動

現在我有一個拒絕運行的更新版本。當我雙擊應用程序時,應用程序圖標會短暫出現在擴展塢中,然後消失。控制檯應用程序顯示消息,"com.apple.launchd.peruser.501: (com.intonia.tony.Intonia.60048[531]) Exited with code 1."但是,當我在Finder中查看包內容並雙擊Intonia.jar圖標時,我的應用程序運行正常。

我可以交換應用程序目錄中的舊jar文件和新jar文件,使目錄中的所有其他文件保持不變。舊的jar文件作爲應用程序運行,並通過雙擊.jar文件運行。新文件不作爲應用程序運行,但雙擊.jar文件即可運行。

舊罐子和新罐子都具有相同名稱的​​作爲入口點。舊版本的所有類都放在名爲com.intonia.tony的包中。新版本將com.intonia.tonycom.intonia.common之間的類分開。

如果有更好的地方提出這個問題,請隨時指導我到另一個論壇。

+0

不知道是否有幫助,但你可以看看[this](http://superuser.com/questions/194094/how-do-i-get-rid-of-com-apple-launchd-peruser- errors-in-my-log)和[this](http://superuser.com/questions/686922/causes-of-com-apple-launchd-peruser-501-exited-with-code-1)和[this ](http://superuser.com/questions/361475/com-apple-launchd-com-apple-launchd-peruser-error)。 – MadProgrammer 2014-11-05 03:55:09

回答

0

事實證明,舊的jar文件是在Eclipse中編譯的,編譯器符合性級別爲1.5,新文件編譯爲1.7。我重新編譯了1.5級,它工作。

在這一點上,我的直接問題得到解決。我會把它留給別人去弄清楚爲什麼應用程序啓動器無法處理它,或者爲什麼我得到的消息太不透明瞭。