Restriction : les programmes utilisant le serveur graphique (comme appletviewer) ne peuvent pas s'exécuter de cette manière.
Installer Linux sous Windows
-
Dans l'application "Information système", partie "Résumé système", regardez la valeur de "Version".
La version doit être supérieure à 14393.
Si cette version est inférieure à 16215, il faut aller dans "Paramètres système", "Pour les développeurs" et cocher "Mode développeur"
(étape inutile pour les versions supérieures). -
Activer Linux sous Windows 10 : dans le panneau de configuration, allez sur "activer ou désactiver des fonctionnalités Windows",
et cochez "Sous-système Windows pour Linux". -
Installer Ubuntu : sous dos (cmd), faire :
lxrun /install
.
A la fin, un nom d'utilisateur et un mot de passe vous seront demandés.
ce sera votre login / mot de passe pour linux. - Quittez cmd
- Ouvrez l'application "Bash on Ubuntu on Windows"
Les fichiers que vous créez sous Linux sont accessibles aussi depuis Windows.
Sur mon poste, ils se trouvent dans
C:\Users\IEUser\AppData\Local\lxss\home\thierry
(
IEUser
est mon user windows et thierry
mon user linux).
Pour tester à quel endroit de votre ordinateur se trouvent les fichiers linux :
- Sous la console linux, créez un fichier vide :
touch nfp121.java
-
Par l'explorateur de fichier windows, recherchez
nfp121.java
et identifiez le dossier qui le contient.
Ce dossier sera désormais appelé votre répertoire home linux. - Supprimez le fichier de test :
rm nfp121.java
(rm = remove)
Préparer Linux et installer java
A partir de maintenant, toutes les commandes se font dans la console Linux.Saisissez votre mot de passe Linux lorsque le shell vous le demande.
-
Mettre à jour ubuntu
sudo apt-get update
sudo apt-get dist-upgrade
-
Installer java
sudo apt-get install openjdk-8-jdk
Tester que java fonctionne
Dans la console bash, créez un fichierMain.java
avec du code de test :
printf "class Main{\n public static void main(String[] args){\n System.out.println(\"hello\");\n }\n}\n" > Main.javaVérifiez que
Main.java
est présent
ls(ls = liste les fichiers et répertoires du répertoire courant ; équivalent de dir sous dos) Vous devriez voir
Main.java
.
Compilez Main.java
javac Main.javaSi vous refaites
ls
, vous devriez voir Main.class Main.java
Exécutez Main
java Main
Main
devrait s'exécuter et afficher hello
/
Utilisation
On va exécuter le tp3 (sauf les applets) en reproduisant la hierarchie présente sur le serveur.Préparatifs supplémentaires
sudo apt-get install treeCréer les répertoires
mkdir -p nfp121/{bin,tps/tp3-pile} # équivalent à : # mkdir nfp121 # cd nfp121 # mkdir bin # mkdir -p tps/tp3-pileVérifier le résultat
treeAller dans le tp3
cd nfp121/tps/tp3-pileRécupérer les fichiers du tp3
wget \ --mirror \ --cut-dirs=4 \ --accept "*.java" \ --accept ApplettePile.html \ --no-parent \ --no-host-directories \ http://larzac.info/cnam/nfp121/tps/tp3-pile/current/Vérifier le résultat
treeAller dans bin/ et récupérer le jar pour JUnit
cd ../../bin/ wget http://larzac.info/cnam/nfp121/bin/junit-3.8.2.jarAller dans tps/ ; récupérer les scripts de compilation et de run java ; vérifier le résultat :
cd ../tps/ wget http://larzac.info/cnam/nfp121/tps/compile http://larzac.info/cnam/nfp121/tps/run http://larzac.info/cnam/nfp121/tps/test-run llRendre ces scripts exécutables ; vérifier le résultat
chmod +x compile run test-run llOn peut regarder le script de compilation :
vi compile # Pour sortir de vi, taper :q
TP3
Compiler la question 1 :./compile tp3-pile/current/question1/PilePleineException.java ./compile tp3-pile/current/question1/PileVideException.java ./compile tp3-pile/current/question1/Pile.java ./compile tp3-pile/current/question1/PolygoneRegulier.java ./compile tp3-pile/current/question1/PolygoneRegulierTest.java ./compile tp3-pile/current/question1/PileTest.java ./compile tp3-pile/current/question1/ApplettePile.java ./compile tp3-pile/current/question1/UneUtilisation.javaVérifier que les .class sont au bon endroit :
tree ../bin/Exécuter
question1.UneUtilisation
et vérifier qu'on a bien l'erreur prédite dans l'ennoncé :
./run tp3-pile/current/question1/UneUtilisation.javaExécuter
question1.ApplettePile
et constater l'erreur
appletviewer tp3-pile/current/question1/ApplettePile.javaDe la même manière, compiler et exécuter les questions 2 et 3.