Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1106 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Compilation Java sous Unix

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Compilation Java sous Unix

n°2071043
kelkoko
Posté le 20-04-2011 à 09:44:25  profilanswer
 

Bonjour,
 
Voilà j'ai trois classes : Main.java, Port.java, VL.java
Lorsque je fais :

Code :
  1. javac VL.java
  2. javac Port.java


Tout ce passe bien !
Mais lorsque je fais :

Code :
  1. javac Main.java


 
J'obtiens les erreurs suivantes :

Code :
  1. Main.java: 743: cannot resolve symbol
  2. Symbol : Class Port
  3. Location : Class Main
  4.                       Port prt = new Port();


 
Auriez-vous une idée?
 
Merci d'avance


---------------

mood
Publicité
Posté le 20-04-2011 à 09:44:25  profilanswer
 

n°2071051
leonhard
Posté le 20-04-2011 à 10:47:26  profilanswer
 

kelkoko a écrit :

Bonjour,
 
Voilà j'ai trois classes : Main.java, Port.java, VL.java
Lorsque je fais :

Code :
  1. javac VL.java
  2. javac Port.java


Tout ce passe bien !
Mais lorsque je fais :

Code :
  1. javac Main.java


 
J'obtiens les erreurs suivantes :

Code :
  1. Main.java: 743: cannot resolve symbol
  2. Symbol : Class Port
  3. Location : Class Main
  4.                       Port prt = new Port();


 
Auriez-vous une idée?
 
Merci d'avance


 
Un peu difficile de donner une réponse sérieuse quand on ne sait pas ce que tu as mis dans tes classes VL et Port, mais je dirais que c'est un problème de classpath, et pas un problème spécifique Unix. Assures toi que les classes VL soient bien compilées dans les bons répertoires (si tu utilises des packages) et que le compilateur trouve les bons chemins..

n°2071056
kelkoko
Posté le 20-04-2011 à 10:51:28  profilanswer
 

leonhard a écrit :


Un peu difficile de donner une réponse sérieuse quand on ne sait pas ce que tu as mis dans tes classes VL et Port, mais je dirais que c'est un problème de classpath, et pas un problème spécifique Unix. Assures toi que les classes VL soient bien compilées dans les bons répertoires (si tu utilises des packages) et que le compilateur trouve les bons chemins..


 
 
En faite j'utilise pas de package, de plus, les classes sont dans le même répertoire et sont compilé dans celui-ci !
 
Donc je ne sais pas.
 
Faut-il ajouter "import VL" et "import Port" dans la classe Main?


---------------

n°2071062
leonhard
Posté le 20-04-2011 à 11:04:23  profilanswer
 

kelkoko a écrit :


 
 
En faite j'utilise pas de package, de plus, les classes sont dans le même répertoire et sont compilé dans celui-ci !
 
Donc je ne sais pas.
 
Faut-il ajouter "import VL" et "import Port" dans la classe Main?


 
Que se passe-t-il si tu tapes
 

Code :
  1. javac -cp . Main.java

n°2071063
kelkoko
Posté le 20-04-2011 à 11:10:18  profilanswer
 

leonhard a écrit :


 
Que se passe-t-il si tu tapes
 

Code :
  1. javac -cp . Main.java



 
 

Code :
  1. Je tape ça : javac -c Main.java
  2. Javac : Invalid flag : -cp


---------------

n°2071081
leonhard
Posté le 20-04-2011 à 12:35:07  profilanswer
 

kelkoko a écrit :


 
 

Code :
  1. Je tape ça : javac -c Main.java
  2. Javac : Invalid flag : -cp



 
 
Euh y'a une incohérence entre tes deux lignes ! (dans la commande tu dis donner "-c" et dans le message d'erreur il trouve "-cp" ). La commande c'est

Code :
  1. javac -cp . Main.java


 
Le point après le "-cp" n'est pas seulement décoratif, mais il signifie "répertoire courant" !. Essayes de taper très exactement cette commande !
 
Quel compilateur utilises tu ? quelle version ? T'as essayé de taper "javac -help" ?`T'as pas trouvé des informations sur le classpath dans l'aide ? T'as consulté la page de doc du compilateur ? (par exemple http://download.oracle.com/javase/ [...] javac.html si tu utilises le compilateur de Sun^H^H^HOracle) ? Manifestement il faut que tu nous expliques en détail ton environnement, parce que là je ne vois plus trop...

n°2071097
kelkoko
Posté le 20-04-2011 à 14:25:36  profilanswer
 

leonhard a écrit :


Euh y'a une incohérence entre tes deux lignes ! (dans la commande tu dis donner "-c" et dans le message d'erreur il trouve "-cp" ). La commande c'est

Code :
  1. javac -cp . Main.java


 
Le point après le "-cp" n'est pas seulement décoratif, mais il signifie "répertoire courant" !. Essayes de taper très exactement cette commande !
 
Quel compilateur utilises tu ? quelle version ? T'as essayé de taper "javac -help" ?`T'as pas trouvé des informations sur le classpath dans l'aide ? T'as consulté la page de doc du compilateur ? (par exemple http://download.oracle.com/javase/ [...] javac.html si tu utilises le compilateur de Sun^H^H^HOracle) ? Manifestement il faut que tu nous expliques en détail ton environnement, parce que là je ne vois plus trop...


 
En faite c'est une faute de frappe, j'ai bien tapé : javac -cp . Main.java !
Et ça m'affiche :

Code :
  1. Javac : Invalid flag : -cp


 
Après je compile mes classes sur une machine Unix et la version de Java est 1.4.1 (pas vraiment récente :p mais aucun moyen de la changer !).
 
D'après la commande "javac -help", l'option "-cp" n'existe pas.


---------------

n°2071100
leonhard
Posté le 20-04-2011 à 14:36:44  profilanswer
 

kelkoko a écrit :


 
En faite c'est une faute de frappe, j'ai bien tapé : javac -cp . Main.java !
Et ça m'affiche :

Code :
  1. Javac : Invalid flag : -cp


 
Après je compile mes classes sur une machine Unix et la version de Java est 1.4.1 (pas vraiment récente :p mais aucun moyen de la changer !).
 
D'après la commande "javac -help", l'option "-cp" n'existe pas.


 
 
Et elle te propose quoi l'aide pour fixer le classpath ? Je n'ai plus travaillé sous 1.4.1 depuis très très longtemps mais peut-être que remplacer le "-cp" par "-classpath" pourrait faire l'affaire ? Sinon c'est quel compilateur que tu utilises ? celui de Sun ? Regarde dans l'aide, il y a surement une ou plusieurs commandes qui parlent du classpath. Au pire tu dois fixer la variable d'environnement "CLASSPATH" mais comme je ne sais pas sous quel shell unix tu travailles, je te laisses chercher cela toi-même.

Message cité 1 fois
Message édité par leonhard le 20-04-2011 à 14:37:24
n°2071101
kelkoko
Posté le 20-04-2011 à 14:42:04  profilanswer
 

leonhard a écrit :


Et elle te propose quoi l'aide pour fixer le classpath ? Je n'ai plus travaillé sous 1.4.1 depuis très très longtemps mais peut-être que remplacer le "-cp" par "-classpath" pourrait faire l'affaire ? Sinon c'est quel compilateur que tu utilises ? celui de Sun ? Regarde dans l'aide, il y a surement une ou plusieurs commandes qui parlent du classpath. Au pire tu dois fixer la variable d'environnement "CLASSPATH" mais comme je ne sais pas sous quel shell unix tu travailles, je te laisses chercher cela toi-même.


 
 
Je te remercie leonhard !
En effet, il fallait spécifier le classpath comme suit (pour aider) :
 

Code :
  1. javac -classpath . Main.java


 
Et ça fonctionne nickel !
 
Par contre, il n'apprécie pas les doubles, or j'avais essayer les float mais ça ne fonctionnais pas comme je voulais (pas assez grand!) !
Aurais-tu une idée? long float ou je ne sais pas?


---------------

n°2071115
leonhard
Posté le 20-04-2011 à 15:00:59  profilanswer
 

kelkoko a écrit :


 
[...]
 
Par contre, il n'apprécie pas les doubles, or j'avais essayer les float mais ça ne fonctionnais pas comme je voulais (pas assez grand!) !
Aurais-tu une idée? long float ou je ne sais pas?


 
 
Je ne comprends pas ta question. Les "float" sont codés sur 32 bits et les "double" sont codés sur 64 bits (norme IEEE 754) donc je ne vois pas du tout ce que tu appelles "long float". Regardes peut-être là : http://people.uncw.edu/tompkinsj/1 [...] Reals.htm. Qu'est-ce que tu reproches aux doubles ?
 
Après si tu as besoin d'encore plus précis, en standard y'a que la classe "BigDecimal" mais la tu vas faire exploser la performance de ton programme.  

mood
Publicité
Posté le 20-04-2011 à 15:00:59  profilanswer
 

n°2071140
kelkoko
Posté le 20-04-2011 à 17:20:14  profilanswer
 

Nan c'est bon j'ai laissé en float car le double ne fonctionne pas en version 1.4.1
 
Je clos le sujet encore merci leonhard


---------------


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Compilation Java sous Unix

 

Sujets relatifs
Problème avec une HashMap en Javaechange java flash
[Résolu] Compilation d'un batchSurveiller des repertoires sous unix
java calendar hour minute[JAVA] Menu lié à une animation
[RESOLU] Problème compilation Visual C++comment faire de GOTO en Javascript
Programmation Java/C sous Linux/Windows^^Script unix pour compilation soft en java
Plus de sujets relatifs à : Compilation Java sous Unix


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR