Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SonarQube 5.6.2插件-未执行自定义扩展点_Java_Sonarqube5.6 - Fatal编程技术网

Java SonarQube 5.6.2插件-未执行自定义扩展点

Java SonarQube 5.6.2插件-未执行自定义扩展点,java,sonarqube5.6,Java,Sonarqube5.6,我添加了一个接口“FileGenerator”作为扩展点,实现类“JavaFileGenerator”被添加到接口/扩展点的实现中,但是没有执行实现类。 我的声纳插件中有以下几个类 MyPlugin类实现我注册的插件接口 我的扩展类“JavaFileGenerator” FileGenerator用@ExtensionPoint注释, @BatchSide/@ServerSide 在JavaFileGenerator类中,文件系统被注入 班级 public class MyPlugin imp

我添加了一个接口“FileGenerator”作为扩展点,实现类“JavaFileGenerator”被添加到接口/扩展点的实现中,但是没有执行实现类。 我的声纳插件中有以下几个类

  • MyPlugin类实现我注册的插件接口 我的扩展类“JavaFileGenerator”
  • FileGenerator用@ExtensionPoint注释, @BatchSide/@ServerSide
  • 在JavaFileGenerator类中,文件系统被注入 班级

     public class MyPlugin implements Plugin {
      @Override
      public void define(Context context) {
       context.addExtension(JavaFileGenerator.class); }
    }
        @BatchSide
        @ExtensionPoint
         public interface FileGenerator {
            void generateFile();
         }
         public class JavaFileGenerator implements FileGenerator{
         private FileSystem fileSystem;
    
            public JavaFileGenerator(final FileSystem fileSystem){
                this.fileSystem=fileSystem; }
             @Override
             public void generateFile() { ... }
            }
    

  • JavaFileGenerator类无法执行。有人对此有任何想法吗?

    例如,对于客户端分析结束时的操作,您可以编写一个插件,如下所示:

    @BatchSide
    public class XXXPostJob implements PostJob {
    
    @Override
    public void describe(PostJobDescriptor descriptor) {
        descriptor.name("-- post client side analyse sonarqube plugin --");
    }
    
    @Override
    public void execute(PostJobContext context) {
    
    // your business here ...
    
        }
    

    例如,对于客户端分析结束时的操作,您可以编写一个插件,如下所示:

    @BatchSide
    public class XXXPostJob implements PostJob {
    
    @Override
    public void describe(PostJobDescriptor descriptor) {
        descriptor.name("-- post client side analyse sonarqube plugin --");
    }
    
    @Override
    public void execute(PostJobContext context) {
    
    // your business here ...
    
        }
    

    事实上,我不应该在传感器阶段之前访问文件系统,因为在sonarQube的较新版本(如5.6及更高版本)中,“在传感器阶段之前访问文件系统是不推荐的,并且不受支持的”。因此,我的做法是不正确的,我应该找到其他方法来完成我的任务:)事实上,我不应该在传感器阶段之前访问文件系统,因为在sonarQube的较新版本(如5.6及更高版本)中,“在传感器阶段之前访问文件系统是不推荐的,并且不受支持的”。因此,我现在的做法是不正确的,我应该找到其他方法来完成我的任务:)