140 votes

erreur javac : Les noms de classe ne sont acceptés que si le traitement des annotations est explicitement demandé

J'obtiens cette erreur lorsque je compile mon programme java :

error: Class names, 'EnumDevices', are only accepted if annotation 
processing is explicitly requested
1 error

Voici le code java (je l'exécute sur Ubuntu).

import jcuda.CUDA;    
import jcuda.driver.CUdevprop;    
import jcuda.driver.types.CUdevice;

public class EnumDevices {

  public static void main(String args[]) {
     CUDA cuda = new CUDA(true);    
        int count = cuda.getDeviceCount();

        System.out.println("Total number of devices: " + count);

        for (int i = 0; i < count; i++) {

          CUdevice dev = cuda.getDevice(i);
          String name = cuda.getDeviceName(dev);
          System.out.println("Name: " + name);
          int version[] = cuda.getDeviceComputeCapability(dev);

          System.out.println("Version: " + 
              String.format("%d.%d", version[0], version[1]));
          CUdevprop prop = cuda.getDeviceProperties(dev);
          System.out.println("Clock rate: " + prop.clockRate + " MHz");
          System.out.println("Threads per block: " + prop.maxThreadsPerBlock);
        }
    }
}

Voici la commande javac :

javac -cp /home/manish.yadav/Desktop/JCuda-All-0.3.2-bin-linux-x86_64 EnumDevices

Comment compiler ce programme ?

0voto

Sportac Points 140

J'ai créé un fichier jar à partir d'un projet Maven (en écrivant paquet mvn ou mvn install )

après cela, j'ouvre le cmd , je vais dans la direction du jar et ensuite

pour exécuter ce code, le

java -cp FILENAME.jar package.Java-Main-File-Name-Class

Edited : après avoir mis dans le fichier Pom déclarer le main pour exécuter le code :

java -jar FILENAME.JAR

-1voto

kiran Points 25

Si vous compilez plusieurs fichiers dans la même ligne, assurez-vous de n'utiliser javac qu'une seule fois et non pour chaque fichier de classe.

C'est faux : enter image description here

Correct : enter image description here

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X