Application java

helice

Nouveau membre
10 Mars 2004
2
0
Bonjour,
J'ai déja parlé de mon problème dans le forum mac OsX mais on m'a dit de le refaire ici. Je suis toute nouvelle sous Mac ça fait 15jours que l'on m'a confié celui ci (un G4 avec os 10.1.1).

Voila j'ai développé une appli java grace au soft eclipse et ceci sous windows. Le pb c'est kil faut ke cette application tourne sous Mac osx pour cela j'ai utilisé Installanywhere pour une installation multiplateforme (bin koi? on a le droit de rêver). Evidemment ça ne fonctionne pas, il me dit ke l'application a quitté inopinément. Je pensais que ça venait de la machine virtuelle et/ou d'un PATH a déclarer (j'ai deja eu ce pb sous linux) mais je ne sais pas quoi modifier ni ou aller voir.
Sinon j'ai les sources vous pensez que je peux les recompiler sous osX. Vous me conseillez koi pour ça?


Merci d'avance
 

eTeks

Membre confirmé
12 Novembre 2001
274
5
Paris
www.eteks.com
Tu n'as besoin de rien compiler puisque ton appli est en Java

Pour créer un installateur sous MacOS, le plus simple est d'installer les developper tools si ça n'est pas déjà fait, puis d'utiliser PackageMaker.
Autre conseil, crée une application au look MacOS à partir de tes fichiers .class avec Jar Bundler...
 

HommeCocoa

Membre confirmé
3 Janvier 2003
173
0
Vevey - Suisse
Désolé de faire ressortir un si vieux sujet...

Mais je suis en train de tenter de faire de mon application un executable et en faisant un peu de recherche j'ai trouvé que ce sujet s'y apparentait passablement... ;)

Voilà alors pour le rendre executable sur Mac OS X, j'ai trouvé comme faire, j'ai fais un clique droite sur le projet puis Export>Mac OS X application bundle.
Et je suis très content car ça marche super bien.

Par contre, maintenant, j'aimerais aussi la rendre executable pour Windows.
J'ai aussi fais quelques recherches sur le forum, j'ai cru comprendre que je devais en faire un jar. Comme dans Export il y a aussi cette option, j'ai tenté le truc, mais alors là, ça ne marche absoluement pas (testé sur le mac). Rien ne s'ouvre... :mouais:

David
 

GrandGibus

Membre d’élite
Club MacG
8 Mars 2004
1 262
103
46
Bordeaux
homepage.mac.com
2 possibilités pour rendre un programme Java exécutable sous Windows:

Avant toute chose, il faut packager ton programme Java dans une archive Java (JAR) et -si besoin- connaître les autres composants Java qu'il utilise.

La première tâche consiste à travailler ton archive JAR, et plus précisemment son manifest (META-INF/MANIFEST.MF) de sorte que:
  • l'entrée Main-Class pointe sur la classe principale qui contient le main
  • l'entrée Classpath déclare l'ensemble des autres .jar dont dépend ton application

Ainsi, un windows avec Java installé et configuré, pourra lancer le programme Java en double-cliquant sur l'archive JAR. Ceci n'est malheureusement pas suffisant par manque d'éducation des utilisateurs windowsiens bien habitués à cliquer sur des .exe.

D'où la seconde possibilité qui consiste à utiliser un module de packaging comme JavaLauncher qui te génèrera un exe (à placer à coté de ton .jar).

Parmi les autres possibilités, on peut toujours citer l'excellent JavaWebstart...

Mais un lien vaut bien un long discours...
 

HommeCocoa

Membre confirmé
3 Janvier 2003
173
0
Vevey - Suisse
Bon après avoir lu le tutoriel de Sun,

Voilà ce que j'ai fais:

-J'ai créé une simple application Java basée sur une JFrame qui ne possède qu'une classe (Hello.java) et une méthode main.
-J'ai créé un fichier txt MANIFEST.txt en UTF-8 avec un saut de ligne à la fin avec le text suivant
Bloc de code:
Manifest-Version: 1.0
Created-By: 1.4.2 (Ma Société!)
Main-Class: Hello
- J'ai entré dans le terminal la commande suivante
Bloc de code:
jar cmf MANIFEST.txt app.jar hello.java
Mais le app.jar qui en ressort ne lance rien du tout, je me doute bien que je dois avoir commis pas mal d'erreur, déjà je ne sais pas si on doit donné un fichier java ou un byte code à la commande cmf, j'ai essayé les deux mais ni l'une ni l'autre ne fonctionne...
Ensuite, dans mon manifest, je ne sais pas si je dois nommer la classe main par Hello ou Hello.java...

Merci d'avance pour ceux qui peuvent me sortir de là :rolleyes:
David
 

HommeCocoa

Membre confirmé
3 Janvier 2003
173
0
Vevey - Suisse
Ha oui! J'ai fais la correction, mais maintenant le terminal me répond ça:

Bloc de code:
at java.io.FileInputStream.open(Native Method)
        at java.io.FileInputStream.<init>(FileInputStream.java:106)
        at java.io.FileInputStream.<init>(FileInputStream.java:66)
        at sun.tools.jar.Main.run(Main.java:122)
        at sun.tools.jar.Main.main(Main.java:903)
à la commande

Bloc de code:
jar cmf MANIFEST.MF sortie.jar hello.class