从OSX java应用程序启动jar文件

时间:2016-08-26 20:23:04

标签: java macos maven jar .app

我创建了一个由其他应用程序更新的应用程序。更新程序捆绑到OSX .app中,用于更新其资源目录中的任何内容。当updater启动时,它会查找更新,然后运行Private WithEvents Items As Outlook.Items Private Sub Application_Startup() Dim olNs As Outlook.NameSpace Dim Inbox As Outlook.MAPIFolder Set olNs = Application.GetNamespace("MAPI") Set Inbox = olNs.GetDefaultFolder(olFolderInbox) Set Items = Inbox.Items End Sub Private Sub Items_ItemAdd(ByVal Item As Object) If TypeOf item Is Outlook.MailItem Then ExecuteDealRequest Item End If End Sub ' ---- Your Code Sub ExecuteDealRequest(Item As Outlook.MailItem) Dim currenttime As Date Dim AccessApp As Access.Application Set AccessApp = CreateObject("Access.Application") AccessApp.OpenCurrentDatabase ("C:\commHU\Comm HU Request.accdb"), False AccessApp.Visible = True AccessApp.DoCmd.RunMacro "Macro1" Set AccessApp = Nothing End Sub ,其中System.getRuntime().exec(cmd)只是捆绑JRE的路径,后跟应用程序的jar。

如果我运行updater jar文件,一切都按预期工作。但是,当我运行应用程序时,更新程序正常启动,但是当按下“启动”按钮时,应用程序无法启动。事实上,一切都没有发生。命令行级别没有错误,创建进程时不会抛出异常。 cmd返回true。

正如我所说,从jar更新程序文件启动时,这可以正常工作。 .app目录是使用maven插件“appbundle”制作的。该应用程序位于https://github.com/elyas145/lss-reporter。但是,如果没有用于检查更新的机密文件,则无法启动它。不幸的是我不能在网上发帖。

1 个答案:

答案 0 :(得分:0)

这是一个非常愚蠢的错误。我正在指定我试图在exec调用中打开的jar文件而不指定目录。我忘了调用是从根目录而不是从资源文件夹。所以我需要构建jar文件的目录并将其传递给java命令。