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.javaet 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 updatesudo 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.java
Vé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-pile
Vé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.