2016-08-27 4 views
0

J'ai un fichier Stack.java stocké dansComment puis-je inclure une classe d'un package à un autre endroit

C:\Users\Aaditya\Documents\Github\Data Structures\com\stack\Stack.java 

Dans la déclaration du fichier, j'ai donné cette

package com.stack; 

Alors , maintenant j'ai un fichier Parantheses.java stocké dans

C:\Users\Aaditya\Documents\Github\Data Structures\Parantheses\Parantheses.java 

et maintenant, quand j'ai le code ci-dessous dans ce fichier, puis je compiler,

import com.stack.*; 

je reçois l'erreur suivante

C:\Users\Aaditya\Documents\GitHub\Data Structures\Parantheses>javac *.java 
Parantheses.java:1: error: package com.stack does not exist 
import com.stack.*; 
^ 

Quelqu'un peut-il trier cette erreur pour moi.

PS: Quand je mets tous les fichiers Java dans un dossier, puis les compiles (sans la chose « importation » et « paquet »), je n'obtiens une erreur. Le programme s'exécute avec succès.

Merci. :)

+0

Vous devrez inclure ces deux répertoires à votre sourcepath lors de la compilation. –

+0

Checkout [this] (http://docs.oracle.com/javase/8/docs/technotes/tools/windows/toc.html) Didacticiel Oracle, en particulier "Définition du chemin de classe". – beatngu13

Répondre

0

Essayez d'utiliser -sourcepath lors de l'utilisation de javac, ce qui vous permettra d'inclure des fichiers provenant d'endroits différents.

Liens: http://docs.oracle.com/javase/8/docs/technotes/tools/windows/javac.html http://docs.oracle.com/javase/8/docs/technotes/tools/windows/classpath.html#CBHHCGFB

D'autre part une meilleure façon de gérer les dépendances est maven.

+0

Maintenant, quand je lance ** javac * .java -classpath ".. \ Stack" com.stack **, j'obtiens cette erreur ** erreur: Les noms de classe, 'com.stack', ne sont acceptés que si le traitement des annotations est explicitement demandé ** – Sparker0i