2010-06-10 3 views
2

J'ai créé une application dans Eclipse qui utilise SWT pour l'interface graphique. J'ai essayé de déployer l'application en utilisant le déploiement Eclipse, mais il semble que lorsque je fais cela, LSUIElement n'est pas respecté, et je ne peux pas forcer l'application à disparaître du dock. Nonwhistanding ce problème, l'application déploie réellement ok et est exécutable.JavaApplicationStub avec SWT provoquant des problèmes

je tenté de déployer l'application en utilisant Jar Bundler, mais lorsque je tente de lancer l'application, je reçois les erreurs suivantes:

2010-06-09 21:44:02.564 JavaApplicationStub[89045:2003] * __NSAutoreleaseNoPool(): Object 0x10021f260 of class NSCFString autoreleased with no pool in place - just leaking 2010-06-09 21:44:02.568 JavaApplicationStub[89045:2003] __NSAutoreleaseNoPool(): Object 0x10010a0a0 of class NSCFNumber autoreleased with no pool in place - just leaking 2010-06-09 21:44:02.569 JavaApplicationStub[89045:2003] __NSAutoreleaseNoPool(): Object 0x1001127a0 of class NSCFString autoreleased with no pool in place - just leaking 2010-06-09 21:44:02.582 JavaApplicationStub[89045:2003] __NSAutoreleaseNoPool(): Object 0x7fff70b7af70 of class NSCFString autoreleased with no pool in place - just leaking 2010-06-09 21:44:02.583 JavaApplicationStub[89045:2003] __NSAutoreleaseNoPool(): Object 0x100123ea0 of class NSCFData autoreleased with no pool in place - just leaking 2010-06-09 21:44:02.587 JavaApplicationStub[89045:2003] * __NSAutoreleaseNoPool(): Object 0x100225b90 of class NSCFDictionary autoreleased with no pool in place - just leaking 2010-06-09 21:44:02.588 JavaApplicationStub[89045:2003] *** __NSAutoreleaseNoPool(): Object 0x100225ee0 of class __NSFastEnumerationEnumerator autoreleased with no pool in place - just leaking

dans un très, très, très, longue liste. L'application se lance et semble se bloquer avec l'icône rebondissant constamment dans le dock, et le premier menu de l'interface graphique n'est que partiellement chargé (il semble que l'une des zones de texte est semi visible, et le rectangle global est de la bonne taille, J'espère que quelqu'un a eu de l'expérience avec ce problème, et peut être en mesure de vous aider!)

Merci!

Répondre

1

Pour une application Java groupée sur Mac, vous devez ajouter la propriété StartOnMainThread à 'true' dans un dictionnaire nommé 'Java' dans votre Info.plist. Cela devrait prendre en charge les avertissements de pool autorelease. À partir du code que je vois dans l'implémentation de Display de Cocoa, vous devez également vous assurer que vous avez CFBundlePackageType de 'APPL' dans votre Info.plist.

Voir ce PDF file pour plus d'informations sur la création d'un Info.plist avec Jar Bundler.

Je vois que vous avez ajouté un commentaire à this SWT bug. Assurez-vous que vous avez ces deux valeurs définies et vous devriez être d'accord.

+0

C'était parfait, merci! – mystro

Questions connexes