L'exécution de java de la classe de terminale
Cette question a été posée mais je ne peux toujours pas le chiffre qui est mauvais pour une raison quelconque.
J'ai eu une classe nommée NewClass dans le paquet syntaxtest dans le fichier src. De la src chemin, j'type :
javac src/syntaxtest/NewClass.java
et la classe est compilée et je peux voir NewClass.class dans syntaxtest dossier. Maintenant à partir de la même voie, ou même le même dossier avec NewClass.class je ne peux pas comprendre comment fonctionner la classe de terminale. J'ai fait beaucoup de tentatives différentes, mais éther-je obtenir
ClassDefNotFound ou ClassDefNotFound (mauvais nom : syntaxtest/NewClass)
avez-vous essayé "java NewClass" ? assurez-vous que vous êtes dans son répertoire avant d'essayer la commande(pour l'avoir sous cette forme)
Lorsque j'essaie de java NewClass alors que je suis dans le dossier de l'NewClass.class est-je obtenir ClassDefNotFound. Si j'essaie de java syntaxtest.NewClass-je obtenir ClassDefNotFound (mauvais nom: syntaxtest/NewClass) . Quand j'ai essayer ce nom-je obtenir NoClassDefFound...
"java -cp . NewClass" essayez ceci
Lorsque j'essaie de java NewClass alors que je suis dans le dossier de l'NewClass.class est-je obtenir ClassDefNotFound. Si j'essaie de java syntaxtest.NewClass-je obtenir ClassDefNotFound (mauvais nom: syntaxtest/NewClass) . Quand j'ai essayer ce nom-je obtenir NoClassDefFound...
"java -cp . NewClass" essayez ceci
OriginalL'auteur Giannis | 2012-02-10
Vous devez vous connecter pour publier un commentaire.
Essayer "
java -cp src syntaxtest.NewClass
".Qui est, si vous avez un dossier "src" qui contient le sous-dossier (forfait) "syntaxtest" et la classe "NewClass" est dans "le forfait syntaxtest", puis la commande ci-dessus va travailler.
Je suis en supposant que votre nom de package est "syntaxtest"; si au contraire il est "src.syntaxtest" puis essayer "
java src.syntaxtest.NewClass
".pas de src est juste un dossier. À l'intérieur, il a un autre dossier nommé syntaxtest. c'est alors le .java et .fichier de classe. NewClass est dans syntaxtest paquet. Il est assez étrange, je n'arrive pas à comprendre comment l'appel de la classe. Btw, si je supprimer le package de la classe donc ce n'est pas dans un paquet, je peux appeler. Donc il doit y avoir quelque chose de mal avec le paquet.
OriginalL'auteur maerics
J'ai fait le test suivant:
Créé un fichier java en home/test/blah/TestClass.java
paquet bla;
public class Classetest {
public static void main(String[] args) {
Système..println("Hello World!");
}
}
Suis allé dans le répertoire home/test/
Il me semble donc que pour exécuter une classe Java à l'aide de la commande "java", vous devez vraiment être à la racine de l'application du dossier.
OriginalL'auteur Renato
J'ai eu un problème similaire.
Je voulais organiser mon projet à l'aide d'un crs et bin dossiers directement à partir du finder de Mac et d'utiliser Emacs ou un autre éditeur de texte. Je n'aimais pas eclipse.
Vous ne pouvez pas exécuter les classes à partir d'un autre dossier, mais vous pouvez faire est de compiler à partir d'un autre dossier dans celui que vous allez exécuter.
Par exemple (en supposant qu'il existe pas de forfait), de les déplacer vers le dossier bin et exécutez:
$ javac ../src/name.java -d ../bin/
(Qui compile à partir du dossier src et les aboutissants de la .fichier de classe directement sur bin)
OriginalL'auteur David Azar