2012-03-26 3 views
1

Je dispose d'un fichier source SerialTalk.java, dans le répertoire C: \ javasrc \ BattProjjavac -classpath ne pas faire l'affaire

Ce fichier est importé des classes de RXTXcomm.jar, par exemple.

import gnu.io.CommPortIdentifier; import gnu.io.SerialPort; ...

RXTXcomm.jar se trouve dans le même répertoire que SerialTalk.java. Je compile en spécifiant un chemin de classe pointant vers le répertoire courant:

javac -verbose -classpath. SerialTalk.java

Invariablement, j'obtiens l'erreur suivante. (En fait, de nombreux cas & variantes de cette erreur):

SerialTalk.java:3: Erreur: gnu.io paquet n'existe pas gnu.io.CommPortIdentifier d'importation; Lorsque j'ouvre RXTXcomm.jar (par exemple avec 7-Zip), je peux voir la structure de gnu.io, et les fichiers .class spécifiques que j'essaie d'importer.

Alors qu'est-ce que je fais mal? Le même fichier .java (source) a été compilé et exécuté sur un autre poste de travail dans l'EDI Netbeans. La différence ici est que j'essaye de le compiler en utilisant javac depuis la ligne de commande. (Environnement est Win7, 32 bits, jdk1.7.0_03)

Répondre

8

So what am I doing wrong?

Vous n'êtes pas mettre le fichier jar sur le chemin de la classe. Mettre le répertoire sur le chemin de classe ne le fait pas. Cela indique seulement à javac où trouver les fichiers .class dans la structure du répertoire, et non les fichiers jar contenant les fichiers de classe. Vous voulez:

javac -verbose -classpath .;RXTXcomm.jar SerialTalk.java 
+0

Excellent. Cela a fait l'affaire, merci. Je ne peux pas dire que je le comprends, mais ça fonctionne. – user1293588