2010-12-05 5 views
4

J'ai essayé le code ci-dessous pour exécuter une application utilitaire autonome que j'ai créée à partir d'un script Apple, mais j'obtiens une erreur No File or Directory Exists.Comment exécuter une application Mac De Java?

J'ai mis des copies identiques (pour tester) dans le projet, dist, les répertoires parents, mais cela n'a pas aidé. Donc, mes questions sont: Mon appel pour exécuter l'application est-il mauvais (peut-être parce que ce n'est pas un exe Windows)? Comment lancer une application mac à partir de Java?

Merci

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { 
    // TODO add your handling code here: 
    Runtime r=Runtime.getRuntime(); 
    Process p=null; 
    String s="MyLineInInput.app"; 
    try { 
     p = r.exec(s); 
    } catch (IOException ex) { 
     Logger.getLogger(AudioSwitcherView.class.getName()).log(Level.SEVERE, null, ex); 
    } 


} 

Répondre

5

Un Mac App Bunde n'est pas un fichier exécutable, il est un dossier avec une structure spéciale. Il peut être ouvert à l'aide de la commande open, en transmettant le chemin de l'ensemble d'applications en tant qu'argument: open MyLineInInput.app.

EDIT: Encore mieux serait d'utiliser Desktop.getDesktop().open(new File("MyLineInInput.app"));

+0

Oh bien sûr! Sinon, le fichier exécutable réel est situé dans * .app/Contents/MacOS –

+0

Parfait - Il a travaillé en utilisant le véritable exécutable (a dû supprimer l'espace dans le nom). – headscratch

+1

Wow - la chose de bureau a fonctionné aussi et évite le tracas d'obtenir le talon. – headscratch

Questions connexes