当前位置: 首页 > 知识库问答 >
问题:

如何将我的自定义注释处理器jar文件包含到我的其他gradle项目中?

卢景澄
2023-03-14

我正在写一个简单的java应用程序,其中一些类,如果我用我的自定义注释@Log注释应该打印消息找到@Log注释在

@SupportedAnnotationTypes ("Log")
@AutoService({Processor.class})
public class LogProcessor extends AbstractProcessor {
    @Override
    public SourceVersion getSupportedSourceVersion() {
        return SourceVersion.latestSupported();
    }

    @Override
    public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) {
        for (TypeElement typeElement : annotations) {
            for (Element element : roundEnv.getElementsAnnotatedWith(typeElement)) {
                processingEnv.getMessager().printMessage(Diagnostic.Kind.NOTE, "found @Log annotation at " + element);
            }
        }
        return true;
    }
}

而我自定义的@Log注解代码如下:

@Target (ElementType.TYPE)
public @interface Log {}

我正在使用@AutoService注册批注处理器。我该如何包括这些信息。运行gradle构建时生成的jar文件?我尝试了以下方法

repositories {
    mavenCentral()
    flatDir {
        dirs 'libs'
    }
}

dependencies {
    annotationProcessor name:  'AnnotationSupplier-1.0-SNAPSHOT'
}

dependencies {
    annotationProcessor files('/libs/AnnotationSupplier-1.0-SNAPSHOT.jar')
}

但这是行不通的,我不确定如何添加注释处理器jar。我的期望是,在运行添加了我的注释供应商-1.0-SNAPSHOT的项目时,我应该能够在

共有2个答案

笪波鸿
2023-03-14

对我来说,这个问题是通过在父项目下添加注释处理器模块(通过创建一个新模块)并在父项目中添加以下内容来解决的build.gradle:

dependencies {
    annotationProcessor project(':AnnotationProcessor')
    compile project(':AnnotationProcessor')
}

注1:AnnotationProcessor是我在父项目下创建的注释处理器模块的名称。

注 2:我在 IntelliJ IDE 中执行此操作。

注3:确保激活项目的注释处理

锺离飞尘
2023-03-14

您可以尝试以下解决方法:

implementation files('/path/to/custom-processor.jar')

annotationProcessor files('/path/to/custom-processor.jar')
 类似资料:
  • 我正在尝试加入一些。txt。png和其他文件转换为我的jar文件。我在src文件夹下创建了一个名为“resources”的文件夹。从IDE运行程序时,程序可以正确找到所有文件。但是,只要我用代码创建一个jar文件,就找不到任何文件。当然,我使用了getClass()。getResource(…)。 有人能帮我吗?:/

  • 我正在使用一些apache HttpClient jar,所以我把它们放在我的项目的lib目录中,当Netbeans编译项目时,它复制lib并生成一个项目jar到dist目录中,但是当我使用webstart运行项目时,我需要将项目jar和lib复制到Tomcat的根目录中,我想知道Netbeans是否可以生成一个包含lib目录中所有jar的项目jar,这样我就不必将项目jar和lib目录复制到To

  • 问题内容: 我想创建一个自定义注释(使用Java),该注释将接受其他注释作为参数,例如: 但这会导致编译器错误“注释成员的类型无效”。 Object []也无效。 有什么方法可以做我想要的吗? 问题答案: 我本人就此提出针对此问题的解决方法: 好吧,我想要实现的是这样的: 拟议的解决方法: 用以下方法定义一个无参数构造函数的类(稍后将由您自己的注释处理器调用): 用法:

  • 我的桌面上有一个.jar文件,我希望将它添加为项目的依赖项,以便在其上使用现有的方法。我该怎么做?

  • 我正在尝试制作一个.jar文件(这是我第一次),我很困惑。我了解如何使用命令提示符创建一个简单的jar文件,但对于我的程序,我导入了JavaMail API和我创建的另一个库(名为ArrayLibrary,其中填充了排序方法)。我如何在一个jar文件中创建这些?

  • 我创建了一个名为EasyPrefs的注释处理器,当我尝试在我的项目中使用它时,它会显示以下警告。 请求增量注释处理,但禁用支持,因为以下处理器不是增量的:net.androidcart.easyprefs.EasyPrefsProcessor(NON_INCREMENTAL)。 我做了一些研究,没有找到任何关于如何使它增量的教程。是否需要任何梯度配置,或者某些功能需要被覆盖,等等。