Package ne trouve pas; javac
C'est gênant.
J'ai une structure de répertoire comme ce
-lib
--some jar files
-packageName
--Main.java
--SomeOtherPackage
--SomeOtherJavaClass.java
Main.java les importations SomeOtherPackage
. Et les deux fichiers java utilise les pots dans le répertoire lib.
Ce que je fais, c'est d'ajouter les fichiers jar de manière indépendante dans le CLASSPATH. Et puis exécuter en tant qu':
javac packageName/Main.java
mais il donne l'erreur que le Package ne trouve pas SomeOtherPackage
. Ne devrait-elle pas réaliser automatiquement la dépendance et de construire SomeOtherPackage
ainsi? Quelle serait la commande javac et le classpath pour le cas ci-dessus?
Grâce
Quand vous dites que les Principales importations SomeOtherPackage la commande importer... " import nompackage.SomeOtherPackage' ou faut-il regarder comme 'importation SomeOtherPackage'?
importation SomeOtherPackage
Je suis désolé Rythme, vous étiez en droit, il était d'import nompackage.SomeOtherPackage. Je n'ai pas écrit le code, désolé encore une fois.
importation SomeOtherPackage
Je suis désolé Rythme, vous étiez en droit, il était d'import nompackage.SomeOtherPackage. Je n'ai pas écrit le code, désolé encore une fois.
OriginalL'auteur neebz | 2010-06-14
Vous devez vous connecter pour publier un commentaire.
La pratique normale consiste à ajouter le package racine du classpath.
Lorsque vous êtes déjà dans le package racine, utilisez
-cp .
. E. g.Si vous souhaitez inclure des fichiers JAR ainsi, l'utilisation de la
;
(ou sous *nix, le:
) classpath séparateur de chemin:De faire gagner du temps à répéter toutes les opérations de saisie de commandes shell, utilisez un
.bat
(ou sous *nix un.sh
) fichier. Ou juste une IDE si vous êtes déjà familier avec java/javac et ainsi de suite.Ok, il a travaillé. J'ai couru javac -cp.;lib/<les fichiers jar> packageName/Main.java mais il ne créé .fichier de classe de Main.java et ne pas faire n'importe quoi avec SomeOtherPackage. Comme je l'ai mentionné dans la question, ne faut-il pas rechercher les dépendances et de créer leurs classes?
Je ne le pense pas. Il ne compilera les données .fichier java. Si vous voulez compiler la totalité de votre projet, il peut être temps de passer à la Fourmi, mais il existe des moyens pour spécifier plusieurs fichiers source.
En effet, pour compiler et construire plusieurs classes, au lieu d'utiliser un outil comme ant ou un IDE comme Eclipse/Ide/Netbeans.
OriginalL'auteur BalusC
Vous devez ajouter packageName au CLASSPATH de sorte qu'il peut trouver SomeOtherPackage
Non, vous avez juste besoin d'ajouter que tous les répertoires qui contiennent des haut-niveau répertoires de paquets. Depuis SomeOtherPackage n'est PAS un sous-ensemble du paquet, vous devez ajouter le répertoire qui contient SomeOtherPackage directement
OriginalL'auteur Chris Dodd