Souci avec commande SDK

Fermé
PL88 - 18 nov. 2013 à 10:56
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 18 nov. 2013 à 19:19
Bonjour,
Voila avant je passé par le SDK : jdk1.3.1_20
et pour compilé je taper sa comme commande :

mkdir main2

javac -target 1.1 -source 1.3 -sourcepath main -d main2 main/EIRC.java

## Package commands ##
jar cfm EIRC.jar manifest.txt -C main2 .
jar cf EIRC-cfg.jar -C etc/properties . -C gfx .
jar i EIRC.jar

Aujourd'hui j'ai installer 3 SDK différent pour des teste d'un applet java irc :
jdk1.7.0_45
jdk1.7.0_40
jdk1.6.0_26
(Je rappel c'est uniquement pour des testes de compatibilité)

Mais quand je tape la commande :
javac -target 1.1 -source 1.3 -sourcepath main -d main2 main/EIRC.java

J'ai une ou plusieurs erreur :
C:\Program Files\Java\jdk1.7.0_45\bin>javac -target 1.1 -source 1.3 -sourcepath
main -d main2 main/EIRC.java
warning: [options] bootstrap class path not set in conjunction with -source 1.3
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
1 warning

Du coup je me dit que ma commande et pas bon je change -source 1.3 par 1.7 etc..
Mais sa veut toujours pas :/

et quand je tape la suite y a qu'un fichier sur deux qui se créer (EIRC-cfg.jar) l'autre ne se créer pas :s

J'ai donc 2 petites question :
1) C'est numéro correspond a quoi ? target 1.1 -source 1.3
2) Et bien-sur comment changer la ligne de la commande pour que sa sois compatible ?


Cordialement,
A voir également:

1 réponse

KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
18 nov. 2013 à 19:19
"1) C'est numéro correspond a quoi ? target 1.1 -source 1.3 "
source 1.3 : compile le code source comme si c'était du code Java 3, toutes les nouvelles fonctionnalités sont inutilisables.
target 1.1 : génère des fichiers .class qui peuvent être lus par des machines virtuelles de Java 1.

Remarque : normalement on devrait avoir target >= source, c'est pour ça que tu as l'avertissement "bootstrap class path not set in conjunction with -source 1.3", en effet avec une source 1.3 tu ne peux mettre qu'une target 1.3 ou plus.

"2) Et bien-sur comment changer la ligne de la commande pour que sa sois compatible ?"
Le plus simple : tu ne spécifies rien, et tu laisses les valeurs par défaut (c'est à dire les versions les plus récentes).
Mais depuis la version 3 certaines méthodes sont dépréciées, c'est à dire qu'il ne faudrait plus les utiliser, c'est pour ça que tu as un autre avertissement "Some input files use or override a deprecated API".

Mais les avertissements n'empêchent pas la compilation.

"y a qu'un fichier sur deux qui se créer"
Comme je vois ta commande, elle est créée à partir d'un fichier Java qui contient une méthode main, s'il y a des fichiers java qui ne servent à rien pour l'exécution de cette méthode, ils ne seront pas compilés.
0