Package java sous linux

nasix
Package java sous linux

Salut tout le monde, en fait je developpe sous linux une interface graphique (front end) pour une projet en C, j'utilise pour ce faire l'IDE Netbeans5, mon pb est que j'arrive pas a creer le .jar, ni a lancer ce projet tt seul (sans lancer Netbeans)

Si qq un peut me donner une idee, je vous remercie

fredericmazue

Quote:

mon pb est que j'arrive pas a creer le .jar, ni a lancer ce projet tt seul (sans lancer Netbeans)

Les deux choses sont liées je pense.

Quote:

Si qq un peut me donner une idee, je vous remercie

Ca serait avec plaisir mais ta question n'est pas détaillée

Normalement sous Netbeans le Jar est construit automatiquement. Tu vas le trouver dans le sous répertoire dist de ton projet. Une fois que tu as le Jar, pour lancer en dehors de Netbeans, tu procède ainsi:

java -cp $CLASSPATH:le_rep_qui_contient_le_jar -jar le_jar.jar

Si ça ne démarre pas, sans doute que le CLASSPATH ne pointe pas tous les répertoires contenant des classes ou les jars annexes à ton appli.

Si ça ne te suffit pas comme aide, n'hésite pas à préciser ta question ici.

nasix

merci de m'avoir repondu, en fait, j ai beacoup travaillé dans des telles applications avec JBuilder, et avec Netbeans je n ai fait que du Web, c qui fait que je suis meme pas arrivé a creer le .jar, je fais tout simplement "File/$Project properties", et je choisis la categorie "Packaging", je mets "build/classes/$project" dans la zone de text "Exclude From Jar File", je valide et maleureusement ca donne pas de .Jar

:!:

fredericmazue

Quote:

c qui fait que je suis meme pas arrivé a creer le .jar

ohé du bateau ?
Je te l'ai dit, sous Netbeans (qui n'est donc pas JBuilder de ce point de vue) la génération du Jar est AUTOMATIQUE, ce qui veut dire en clair que tu n'as RIEN à faire. Simplement tu compiles ton appli et tu vas trouver le Jar dans le sous répertoire "dist" de ton projet.
Ca ne peut pas être plus simple.

Quote:

Packaging", je mets "build/classes/$project" dans la zone de text "Exclude From Jar File", je valide et maleureusement ca donne pas de .Jar

Dans ce fameux packaging tu vas voir en haut: "Jar File: dist/ton_appli.jar"
Il s'agit du Jar automatiquement généré dont je te parle.

Il ne faut à priori pas mettre "d'exclude" car ça veut dire "ne pas joindre au jar"
Par défaut les fichiers .java et .form sont exclus des jar ce qui est normal. Si je comprends ce que tu racontes, tu exclus les classes de ton projet du Jar. Enfin tu essaies du moins car normalement Netbeans n'exclut pas les fichiers .class.

Bon pour résumer, pour obtenir ton Jar tu n'as rien d'autre à faire que compiler ton projet.
:!:

Peut être que tu as trop trafiqué les propriétés de ton projet . Fais un essai avec un projet bidon, compile sans toucher à rien et constate.

nasix

oui, la c bon, je compile et c marche, tu vois, je suis un peu bete, merci, autre chose, en fait je travaille sur linux, et ce que je suis en train de faire va etre utilisé par les autres, je sais pas comment je px contourner le pb de la machine virtuelle chez les autres?? je cree un install ! ou je convertie en binaire !!

fredericmazue

Quote:

tu vois, je suis un peu bete

Je ne dirais pas ça :)
Je pense que tout simplement tu était sous influence JBuilder, sous lequel il faut configurer la génération du Jar et inconsicemment tu as pensé qu'il fallait faire pareil avec Netbeans.

Quote:

pb de la machine virtuelle chez les autres?? je cree un install !

Je ne suis pas sûr de bien comprendre ta question. Tu veux être sûr que la JVM existe sur les autres machines, c'est ça ?
Si oui, un petit script d'instllation sera sans doute bienvenu.

Quote:

ou je convertie en binaire !!

Tu parles de compiler le code java en natif ?
Tu vas avoir du mal. Parce que gcj ne compile pas tout ce qui concerne swing et si j'ai bien compris c'est une interface utilisateur que tu as écrite en Java.
A moins de gcj n'ait évolué depuis la dernière que je m'en suis servi et qu'il sache compiler du Swing maintenant. A vérifier.

nasix

En fait, je veux pas obliger les gens a installer la JVM, ni de faire un script qui l installe, je veux une programme autonome, si c est possible, c'est preferable

fredericmazue

Quote:

En fait, je veux pas obliger les gens a installer la JVM, ni de faire un script qui l installe, je veux une programme autonome, si c est possible, c'est preferable

Pas obliger les gens à installer une JVM :!: :!:
Alors je ne suis pas sûr que le choix de java soit excellent....

Pour autant que je sache, il n'y a pas sous Linux de compilateur qui te pondes un code natif à partir d'une appli Swing.
Mais bon peut être que quelqu'un sur ce forum a une solution qui te convienne. Moi je ne sais pas, navré

nasix

oui, en fait c'est ce que je sais, mais ca n empeche, peut y avoir qq un qui a une astuce.
en tout cas c pas tres grave, j ai voulu que ca soit parfait, mais c deja pas mal,

merci beacoup
a+

jrebillat

Ce que tu peux faire, c'est un shell de lancement qui donne le chemin d'une JVM sur un disque partagé (donc pas installée) J'ai fait ça au boulot parce que l'informatique générale ne veut pas installer une autre JVM que la 1.2.2 et que mes gars utilisent Eclipse - donc avec "notre" JVM 1.4...

nasix

oui, en fait c'est ce qu'il m'apparait professionnel. merci et bonne journée

fredericmazue

Pardonnez moi, mais je ne vois pas en quoi une telle JVM, même si elle n'est pas celle à laquelle les utilisateurs accèdent pas défaut, n'est pas installée, ni en quoi cette astuce (qui a son intérêt) rend l'application Java autonome.

nasix

je pense que vous n'avez pas compris mon problème, je fais parti d'une équipe qui developpe les outils au sein d'un société de microelectronique, donc ce qu'on doit utiliser ne doit pas deranger les utilisateurs, ni occuper de l'espace...
c vrai c tres util mais on veuille toujours a trouver les solutions optimales
j espere que vous m'avez compris

fredericmazue

Quote:

je pense que vous n'avez pas compris mon problème, je fais parti d'une équipe qui developpe les outils au sein d'un société de microelectronique, donc ce qu'on doit utiliser ne doit pas deranger les utilisateurs, ni occuper de l'espace...

Effectivement, au départ du post, je n'avais pas compris comme ça. Je pensais qu'il s'agissait de déployer une application autonome sur des machines inconnues à priori. Maintenant que tu as apporté cette précision, je comprends parfaitement que l'astuce proposée par jrebillat te satisfasse, et j'en suis très heureux :)

nasix

oui, c'est ce que j'ai pensé.
une autre chose, je me rappelle une chose tres important, ca fait pas tres longtemps on a developpé un intrnet en J2EE pour une division, pour le deployer on a cree un compte au nom de cette division, et dedans on a installé la JDK, j'ai tout ca et je cherche ailleurs !!, je peux toujours pointer sur cette machine, sauf qq probleme de OS (solaris et linux) et tt sera resolu

Potenbas1