2017-08-10 1 views
-3

J'ai deux fichiers, app.java et test.java Ils résident tous les deux dans le même paquet, et ils compilent très bien avec "javac app.java test.java" Deux fichiers de classe sont alors créé. Cependant, quand je vais à les exécuter avec la commande « application java », car l'application a la principale méthode, je reçois « Erreur: Impossible de trouver ou de charger principale application de classe »Problème de java app de cmd

app.java:

package working_directory; 

public class app { 

public app() { 

} 

public static void main(String [] args) { 
    test testing = new test(); 
    System.out.println(testing.calculate(60)); 
} 
} 

C'est le test.java

package working_directory; 

public class test { 

public test() { 

} 

public int calculate(int x) { 
    return (int) x * x * x; 
} 
} 
+1

Nous ne pouvons pas le code de débogage, nous ne pouvons pas voir. – csmckelvey

+0

Il n'y a pas de code à voir. Toutes les informations qui posent problème sont données – laocak

+0

Copie possible de [fichiers de classe java dans le répertoire courant?] (Https://stackoverflow.com/questions/3706689/java-class-files-in-current-directory) –

Répondre

1

Assurez-vous de choisir le bon chemin pour la compilation et l'exécution de code:

D:\ 
+--Folder(start cmd here) 
     +---working_directory 
          +----app.java 
          +----test.java 

Comment compiler

D:\Folder\>javac working_directory\*.java 

Comment exécuter

D:\Folder\>java working_directory.app 
+0

C'était mon problème. J'avais démarré le cmd dans le répertoire de travail. "D: \ Folder \> java working_directory.app" a fonctionné. – laocak

0

Vous avez un nom de package déclaré en d'autres termes qui est un dossier. Votre projet devrait ressembler à ceci alors

C:\YourProject 
C:\YourProject\working_directory 
    C:\YourProject\working_directory\app.java 

Votre projet commence au niveau de la racine il est donc C:\YourProject là, vous devez utiliser la ligne de commande et tapez java working_directory.app

+0

Tous les fichiers dans le répertoire sont en minuscules, et se correspondent – laocak

+0

@laocak a édité ma réponse –

1

Pour utiliser la commande java, vous devez spécifier le complètement nom qualifié de la classe que vous voulez exécuter. Cela signifie que vous devez également spécifier le nom du package.

Vous devez exécuter ceci:

java working_directory.app 

Depuis working_directory est le nom du package.

+0

Essayé, mais la même erreur. Erreur: Impossible de trouver ou de charger la classe principale working_directory.app – laocak

+0

@laocak 'working_directory' est le nom_actuel de votre package, n'est-ce pas? Si ce n'est pas le cas, utilisez le nom _actual_ du paquet. – Sweeper

+0

oui, working_directory est le nom complet du package et il est inclus dans les deux fichiers. – laocak

0

Vous devez fournir un classpath, lors de l'exécution à partir de la ligne de commande:

(pour Windows)

java -classpath . app 
+0

java -classpath. Erreur: Impossible de trouver ou de charger l'application de classe principale – laocak

+0

@laocak, essayez d'exécuter cette commande en dehors de working_directory, comme java -classpath. working_directory.app –