当前位置: 首页 > 面试题库 >

javac错误:仅在显式请求注释处理的情况下,才接受类名称

臧梓
2023-03-14
问题内容

编译Java程序时出现此错误:

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

这是Java代码(我正在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);
        }
    }
}

这是javac命令:

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

如何编译该程序?


问题答案:

您至少需要.java在此行中将扩展名添加到文件名:

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

来自官方常见问题解答:

仅当显式请求注释处理时,才接受类名“ HelloWorldApp”

如果收到此错误,则在编译程序时忘记包含.java后缀。请记住,该命令是javac HelloWorldApp.java而不是javac
HelloWorldApp。

另外,在您的第二个javac示例中(您实际上包括在内.java),您需要包括编译所需的 所有 必需.jar文件。



 类似资料:
  • 突然,我在执行应用程序时出错。我知道这里已经有人问过这个问题:现在必须显式声明注释处理器 然而,解决方案并没有解决问题:( 这是我的build.gradle 任何人都知道如何解决这个错误。我在谷歌上搜索没有成功。 这是收到的错误

  • 该链接包含在错误404s中(https://developer.android.com/r/tools/annotation-processor-error-message.html),因此没有帮助。 我已经在android studio设置中启用了注释处理,并将添加到我的注释处理器选项中。我还尝试将、和添加到处理器FQ名称中,但这也没有帮助。 这些是我添加到dependecies下的默认buil

  • 问题内容: 我正在发出ajax jsonp请求,但是失败错误处理无法正常工作。如果请求为404或500,则不会处理该错误。 我一直在四处寻找答案,但找不到任何东西。http://code.google.com/p/jquery- jsonp/ 似乎有一种解决方案,但是我找不到任何有关如何使用它的示例。 问题答案: 处理错误的两种方法 跨域JSONP请求没有错误处理。使用Github https:/

  • 问题内容: 我正在进行实验,发现以下代码可以在Eclipse上编译并正常运行(版本ID:20090920-1017,不确定确切的编译器版本): 在Eclipse中编译并运行时,此命令会正常打印并退出。 对于编译器,这将按预期方式抛出。 那么Eclipse Java编译器中有bug吗? 问题答案: 这是一个错误。这是根据 Java语言规范,第三版 的声明的指定行为: [JLS 14.11 声明](h

  • 在添加com.google.dagger:dagger-android-support依赖项后,我得到了这个gradle错误。 这是我的构建的一部分

  • 现在必须显式声明注解处理器。发现编译类路径上的以下依赖项包含注解处理器。请将它们添加到annotationProcess配置中。 realm-android-0.86.0.jar(io.realm:realmandroid:0.86-0) 或者,设置以继续先前的行为。 请注意,此选项已弃用,将来将被删除。有关更多详细信息,请参阅此内容。