[JAVA] Novice

Bonjour messieurs développeurs,

ayant entendu parler de la popularité du Java dans le monde de l’entreprise, je voudrais commencer à faire des petites applis (console pour commencer, bien sûr) mais je n’ai rien trouvé qui en parlait clairement.

J’ai acheté le traditionnel livre de Christian Delannoy, mais celui-ci ne dit qu’une chose :
pour compiler en bytescode le programme, il faut le lancer avec la commande javac.
C’est également ce que j’ai pu lire à droite et à gauche avec google.

Le problème c’est que dans le dernier SDK (de Sun), pas de javac !

Ils en parlent dans le README, mais il reste introuvable.

Alors peut-être que j’ai raté un train, que c’est dépassé, mais j’avoue ne rien avoir trouvé de concluant.

D’autre part, j’utilise Eclipse comme IDE, mais pas non plus d’applications console. Ou encore une fois c’est que j’ai raté un train.

Sauriez vous m’aider un peu à faire mes bêtes applis consoles (c’est quand même n’importe quoi de galérer à ce point pour un truc aussi simple…) ?

Et, cerise sur le gateau, est ce que vous connaissez un tuto bien fait pour ce genre d’applis axé sur la migration c++ -> Java ? Vu les points communs entre eux je suppose que ça doit exister…

D’avance merci !

Bon effectivement tu patauges un peu dans la semoule pour rien.
Mais rassures toi, grace à quelques exemples et explications bien senties tu vas t’en sortir.

Bon, javac est la commande qui te permet de compiler une classe java.
Imaginons ta classe "ma_premiere_classe.java"
On part du principe quel a classe est ultra simple, et qu’elle n’appelle pas de librairies externes.
Tu te met dans ta ligne de commande, sous le repertoire correspondant:
javac ma_premiere_classe.java
Et hop, un fichier “ma_premiere_classe.class” est apparu. Well done !
( Si jamais ça ne fonctionne pas, inquiete toi de savoir si les varaibles d’environnement PATH et CLASSPATH ont bien été initialisées. )

Bon on va dire que ta classe contient le point d’entrée main, c’est à dire que ton programme executera cette méthode au lancement de ton appli.

public void main(String args[]){ System.out.println("je suis un petit canaillou"); }
Retour à ta ligne de comande, tu compiles à nouveau et tu appelles ton appli console :
java ma_premiere_classe.class
Et là tu auras ta sortie en mode console. Sous eclipse la sortie en mode console est à l’interieure même du logiciel, dans un panneau inférieur à priori.

Bonjour à toi et bienvenue dans le monde (merveilleux ?) de Java !
Effectivement, la commande javac permet de compiler des fichiers .java, la commande java permet d’exécuter ces fichiers compilés.
Je suis étonné que tu ne trouves pas cet exécutable.

Si tu ouvres une console DOS, tu tapes javac, ça te donne quoi ? Une erreur ou une liste d’arguments pour la commande en question ?
Normalement, tu vas dans le répertoire où tu as installé ton JDK. Dans celui-ci, tu as un répertoire bin, dedans il doit y avoir le javac.exe (et java.exe).
Sinon, attention. Pour apprendre Java, je te déconseille de trop te faire mâcher le travail par Eclipse… Il fait beaucoup de choses tout seul, donc attention.

Sinon, jette un oeil . Tu as de très bons tutoriaux, des FAQ et des forums sur Java.
N’hésite pas à poser des questions si tu ne comprends pas certaines choses…

Merci, mais c’est bien là le problème ! javac n’existe nulle part (ou bien je cherche mal), ni dans mes /bin ni ailleurs… grmbl

ps : je dev sous windowsXP, ça joue peut-être

edit : rorotaz > javac.exe n’existe juste pas, donc pas de liste de commandes ou autres qui apparait. Juste un unknow command ou un truc du genre. Je capte vraiment pas. J’ai réinstallé plusieurs fois le JDK, j’ai cherché partout, mais rien nulle part.
et dir javac /s ne donne rien non plus.
En tout cas merci pour les tutos, je dl ça pour cette nuit.

Question :
Si tu tapes java -version, ça donne quelque chose ? (java, pas javac, hein).
Si c’est le cas, alors c’est que tu as installé le JRE et non le JDK.
JRE = Java Runtime Environment.
JDK = Java Development Kit.
En gros, le JRE n’est là que pour exécuter des programmes déjà compilés et il te faut le JDK pour pouvoir compiler tes programmes…

Edit: Sinon, le fait d’être sous XP ne change rien, je suis sur XP et je développe dessus sans soucis.

Et je repete que si son classpath et son path sont pas initialisés, il risque de s’amuser longtemps :stuck_out_tongue:

Théoriquement, il me semble qu’à l’installation d’un JDK et/ou JRE, il configure le path (pas le classpath je crois), non ?

Ah, autre chose que j’avais appris : l’installation de produits Apple, genre QuickTime, casse complètement le Classpath. Merci la Pomme :stuck_out_tongue: (non, pas de troll).

Bah justement, j’ai testé un coup de javac chez moi, et ça ne fonctionnait pas.
Verification faite, mon path et classpath n’ont pas été initialisé lors de l’installation du jdk ( mais c’est peut-être encore un coup de la pomme )

Donc bon, ça a peut etre merdé chez moi, mais toujours est il que le probleme peut se situer là.

J’ai effectivement le JDK (et non pas le JRE) mais par contre l’initialisation… j’ai juste installé en supposant que ça se ferait tout seul.

Je suppose que classpath / path c’est l’endroit où il va chercher mes fichiers par défaut?
Mais en quoi ça touche au fichier javac? Dans mon /bin en gros j’ai tous les fichiers (javapw, java, javacl, etc.) sauf celui là, qui si j’ai bien compris aurait dû être là à l’installation…?

Vraiment étrange. Et le mode console sous Eclipse, je veux même pas. Ca a vraiment l’air d’une usine à gaz ce machin. Bien plus chiant en tout cas qu’un vieux visual studio 6 :’(

Il faut juste le temps de t’habituer. Après, tu ne peux plus t’en passer d’Eclipse :stuck_out_tongue:

Je confirme les dires du sieur rorotaz.
Au début j’ai eu assez de mal avec le grand nombre de vues offertes par eclipse.
Puis j’ai décidé de virer tout ce qui me servirait pas. Ca clarifie pas mal, et ensuite tu rajoutes selon tes besoins.

Pour javac, s’il manque à ton repertoire /bin, là oui, il y a un leger souci.
La réinstallation du jdk te permettrait d’avoir l’esprit tranquille.

Vi, réinstalle un petit JDK 5.0.0_6, et ça devrait rouler ma poule.
Ensuite, tu ajoutes, si elles n’existent pas, les variables d’environnement suivantes :

PATH : tu y ajoutes le lien vers le répertoire bin/ de là où tu as installé le JDK.
JAVA_HOME : Tu linkes le répertoire racine d’installation du JDK.
CLASSPATH: Tu y mets le répertoire du JDK + le répertoire courant, c’est-à-dire “.” (genre tu as ça : C:\Java\JDK-5.0;.).

Pour info, tu n’as pas besoin de te prendre autant la tête si tu ne sors pas d’Eclipse (il a son propre monde Java à lui, mais il a quand même besoin d’un JDK hein). Mais pas besoin de se soucier du classpath.

Ben, j’ai pourtant réinstallé plusieurs fois, custom et standart install…
vraiment étrange.

Bon, je suis au boulot là et j’ai pas sous les yeux le contenu de mon /bin, mais j’ai réinstallé le même JDK sur ma machine taf, et ça me crée bien un javac.exe

Incompréhensible… je ne vois que le fait qu’au taf j’ai le net, mais pas chez moi…
je réessaie à nouveau ce soir, puis si ça marche pas je me mettrai direct aux applis avec interfaces, tant pis.

Merci en tout cas

Rien ne t’empêche de faire des programmes Java en mode console avec Eclipse. Quand tu fais un System.out.println("…"); et que tu l’exécutes sous Eclipse, tu vois le résultat dans la console d’Eclipse…

Edit con : Si tu n’as pas le net, penses avant à télécharger l’install complète (il y a une install online, qui fait dans les 500 Ko qui télécharge ensuite tout depuis le net).

Je confirme pour Eclipse :

Au début on peste
Ensuite on adopte
A la fin on en est dépendant.

Sinon au taf tu as quelle version d’éclipse ? (j’ai vu des trucs louches arriver avec Eclipse)

@+

Pas d’Eclipse, malheureusement je ne suis pas développeur.
Chez moi j’ai la dernière je crois (j’ai plus le chiffre en tête).

Par contre oui, au début on peste c’est clair. Je voulais par exemple executer mon truc hier soir, impossible de “build” (grisé), et le Run me lançait un nouveau Eclipse vide… Bon c’est clair que ça vient de moi, j’y suis allé à l’arrache, mais je regrette un peu l’interface claire et propre de visual studio.

Mais si tout le monde l’utilise (et quitte NetBeans pour lui), je me doute que ce n’est pas sans raison.

Pour mon problème, oui c’était bien la version offline.
Je réessaie à nouveau ce soir, et le cas échéant je me débrouillerai pour trouver le net pendant ce weekend.

Merci pour vos réponses dans tous les cas =)

Bah moi j’utilise Eclipse majoritairement, mais parfois NetBeans (meilleur pour développer des GUI). Y a aussi IDEA IntelliJ, mais il est payant.

De mon coté:
@home : eclipse 3.12
@work : suivant la mission et le pc qu’on m’a filé , WSAD ou RAD ( et oui )

Moi je suis en Eclipse 3.1.1 parce que j’ai la WTP (Web Tools).
J’attends la WTP 1.5, basée sur Eclipse 3.2 (sortie fin juin).