Menu

Compiler et executer [Résolu]

Messages postés
13
Date d'inscription
mercredi 11 juillet 2012
Dernière intervention
14 février 2019
- - Dernière réponse : KX
Messages postés
15941
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
19 février 2019
- 14 févr. 2019 à 20:54
Bonjour a tous
Voilà plusieurs semaines que j’ai débuté une initiation a la programmation en java avec pour support openclassroom, je trouve ce cour bien conçu.

Pour autant, je rencontre quelques difficultés depuis le début pas spécialement en programmation mais plutôt coté outils. Comme recommandé j’ai installé éclipse-ide, JRE 1.8.0_201, JDK1.8.0_172.
Mon pc est sous Windows 7/ 32 bits.

Les programmes réalisés sous éclipse fonctionnent sans difficulté « pour le moment ».
Par contre, un exercice compiler et exécuter les programmes, par l’invite de commande ne fonctionne pas j’ai cherché des solutions sur le net via des tuto sur ce thème j’ai dû apprendre a me servir de l’invite de commande pour me familiarisé avec cette console et avec les mots de commande.

J’ai mis à jour la variable d’environnement tel que je l’ai compris …. « l’ai-je bien rentrée » ?.

C:\Users\Jean-Pierre\eclipse-workspace\projet1\src\projet1 ceci est le chemin du fichier « test.java »

Là ci-dessous : c’est la commande exécuté sur l’invite de commande

C:\Users\Jean-Pierre\eclipse-workspace\projet1\src\projet1>java test
Erreur : impossible de trouver ou charger la classe principale test "qu'est ce que c'est?"

C:\Users\Jean-Pierre\eclipse-workspace\projet1\src\projet1>

Pour en arriver là j’en ai épluchés des pages de tuto.

Voici d’autre commande que j’ai exécutée pour compléter mes investigations.
C:\Users\Jean-Pierre>java –version
java version "1.8.0_201"
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) Client VM (build 25.201-b09, mixed mode, sharing)

C:\Users\Jean-Pierre>javac –version
javac 1.8.0_172

C:\Users\Jean-Pierre>echo %path%
C:\Program Files\Common Files\Oracle\Java\javapath;C:\ProgramData\Oracle\Java\ja
vapath;C:\Program Files\AMD APP\bin\x86;C:\Program Files\Common Files\Microsoft
Shared\Windows Live;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\W
indows\System32\WindowsPowerShell\v1.0\;C:\Program Files\ATI Technologies\ATI.AC
E\Core-Static;C:\Program Files\Windows Live\Shared;C:\Program Files\Internet Exp
lorer;C:\Program Files\Skype\Phone\;C:\Program Files\java\jdk1.8.0_172\bin;

C:\Users\Jean-Pierre>where java
C:\Program Files\Common Files\Oracle\Java\javapath\java.exe
C:\ProgramData\Oracle\Java\javapath\java.exe
C:\Program Files\Java\jdk1.8.0_172\bin\java.exe
C:\Users\Jean-Pierre>where javac
C:\Program Files\Java\jdk1.8.0_172\bin\javac.exe

L’analyse de ces commandes reste encore difficile pour moi

Si nécessaire je pourrais vous communiquer des copies d’écran, j’espère ne pas avoir été trop soulant avec tous ces commandes merci de m’aider surtout que j’ai un second problème du même genre lier a celui-ci avec sublime text 3 .

Peut-être que je ne suis pas loin de la vérité a ce point je ne comprends plus rien.
Merci à vous.
Cordialement JP
Afficher la suite 

Votre réponse

2 réponses

Messages postés
100
Date d'inscription
lundi 15 mai 2017
Dernière intervention
13 février 2019
1
0
Merci
C'est pas java <fichier>.jar
la commande pour un .jar est:
java -jar <nomfichier>.jar

Note: Ici les variables d'envir. ne sont pas très importantes et il t'aurais juste suffit d'installer le JDK car le jre est livré avec.

vataram
Messages postés
13
Date d'inscription
mercredi 11 juillet 2012
Dernière intervention
14 février 2019
-
Bonjour
C:\Users\Jean-Pierre\eclipse-workspace\projet1\src\projet1>java -jar test.jar
Error: Unable to access jarfile test.jar

Cette commande ne fonctionne pas chez moi que j’ai fait une erreur d’interprétation.
Merci quand même KX m’apporté une Solution
Cordialement JP
Commenter la réponse de TheKill_TnT
Messages postés
15941
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
19 février 2019
3526
0
Merci
Bonjour,

Puisque tu travailles dans le fichier
eclipse-workspace\projet1\src\projet1\test.java

Alors le code du fichier test.java doit être structuré comme ceci :

package projet;

public class test {
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}

Pour compiler tu dois aller dans
eclipse-workspace\projet1\src\
et faire
javac projet1\test.java

Pour exécuter tu dois aller dans
eclipse-workspace\projet1\src\
et faire
java projet1.test

Remarque : si tu utilises Eclipse pour compiler et que tu veux exécuter le programme à la main, alors tu dois aller dans
eclipse-workspace\projet1\bin\
vataram
Messages postés
13
Date d'inscription
mercredi 11 juillet 2012
Dernière intervention
14 février 2019
-
Bonjour

La structure du code test sur lequel il est question est bien structurée de la même façon que celui que tu m’as montré a un epsilon près, j’ai package projet1 au lieu projet.
C:\Users\Jean-Pierre\eclipse-workspace\projet1\src>javac projet1\test.java « pour créer un fichier class ?»

C:\Users\Jean-Pierre\eclipse-workspace\projet1\src>java projet1.test « pour exécuter le programme »
Hello World!

Il semblerait que ça marche.

Par ailleurs, je ne comprends pas ce que tu veux dire, exécuter le programme à la main
Pour le moment, c’est des essais sur l’invite de commande.

D’autre part, pourrais- tu me donner une précision, la définition dans un langage simple, compiler c’est quoi ?
Pour vérifier si j’ai bien compris ce que j’ai lu, y-a-t-il un rapport avec un programme qu’on appelle exécutable.

Merci a toi et toute l’équipe de CCM, je ne tarderai pas de revenir vers vous si je ne résous pas mon problème avec sublime text 3.
Cordialement JP
KX
Messages postés
15941
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
19 février 2019
3526 > vataram
Messages postés
13
Date d'inscription
mercredi 11 juillet 2012
Dernière intervention
14 février 2019
-
En effet, il fallait mettre projet1, c'est moi qui ait mal lu.

Quand je dis exécuter le programme à la main, ça veux dire en invite de commandes, par opposition à l'exécution via un IDE, en l’occurrence Eclipse chez toi (si j'en crois le nom de ton dossier eclipse-workspace)

Compiler, c'est passer du fichier .java au fichier .class
Cela signifie qu'il y a une étape de vérification et transformation de ton code (la compilation) dans une écriture beaucoup plus stricte que seule la machine pourra comprendre, mais garantie sans erreur.
Il faut opposer ça aux langages interprétés (comme JavaScript par exemple) où le programme est directement lu depuis le code source (lisible par un humain) et où une éventuelle erreur de code ne sera repérée qu'au moment où essaye d'utiliser le morceau de code en question.

Et non, il n'y a pas vraiment de rapport avec la notion de programme exécutable, un code Java est exécutable s'il dispose d'une fonction void main(String[]), mais ce n'est pas le cas de tous les codes Java, certains sont juste des bibliothèques utilitaires, qui ne font rien elle même, elles doivent être utilisés par d'autre programmes.
Commenter la réponse de KX