Impossible de compiler un HelloWord en java via la ligne de commande powershell
Bonjour,
Je n'arrive pas à compiler un simple HelloWord.java en ligne de commande via powershell.
Mon code source ci-dessous :
Code:
1 2 3 4 5 6 7 8
|
public class HelloWord
{
public static void main(String[] args)
{
System.out.println("Hello Word");
}
} |
Ensuite je lance la pseudo-compilation via la commande javac (powershell)
:
Code:
javac HelloWord.java
J'obtiens bien mon Bytecode et donc le fichier HelloWord.class (aucun message d'erreur).
Ensuite je veux l’exécuter via la JVM par cette ligne de commande (powershell) :
Code:
java .\HelloWord.class
J'ai le message d'erreur suivant :
Error: Could not find or load main class .\HelloWord.class
Caused by: java.lang.ClassNotFoundException: /\HelloWord/class
J'ai cherché sur internet et j'ai vu qu'il y avait une solution sur ce même forum à mon problème ici = https://www.developpez.net/forums/d6...igne-commande/
J'ai donc essayé les lignes de commandes suivantes (powershell) :
Code:
1 2 3 4 5 6 7
|
java -classpath .\HelloWord.class
java - classpath .\HelloWord.class
java.exe -classpath .\HelloWord.class
java.exe - classpath .\HelloWord.class
'C:\Program Files\Microsoft\jdk-11.0.12.7-hotspot\bin\java.exe' -classpath .\HelloWord.class
'C:\Program Files\Microsoft\jdk-11.0.12.7-hotspot\bin\java.exe' - classpath .\HelloWord.class |
Juste je demande confirmation :
La JVM permet d'exécuter le Bytecode ?
Le JDK contient notamment le compilateur Javac qui permet de compiler le code source écrit en Java ?
Je précise que quand je tente de compiler ce programme avec VSC je n'ai pas de problème, donc il ne s'agit certainement pas d'une erreur dans le code source.
Pour localiser mon JDK j'ai rentré les commandes suivantes (powershell) = https://www.delftstack.com/fr/howto/...ation-windows/
Code:
1 2 3 4 5 6 7 8 9
|
where java => aucun retour
where java.exe => aucun retour
...
La seul qui me donne un retour est la suivante :
gcm -all java
CommandType Name Version Source
----------- ---- ------- ------
Application java.exe 11.0.12.0 C:\Program Files\Microsoft\jdk-11.0.12.7-hotspot\bin\java.exe |
Ma version de powershell est (la dernière release) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
$PSVersionTable
Name Value
---- -----
PSVersion 7.2.7
PSEdition Core
GitCommitId 7.2.7
OS Microsoft Windows 10.0.19044
Platform Win32NT
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0
}
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
WSManStackVersion 3.0 |
Je comprends pas pourquoi ça ne fonctionne pas.
Merci pour votre aide.