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

eclipse上factorypath中gradle nothing的注释处理

张建华
2023-03-14

我要从马文换到格雷德。

下面是我以前在pom.xml中的内容

        <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <compilerArgument>-proc:none</compilerArgument>
                </configuration>
        </plugin>
        <plugin>
            <groupId>org.bsc.maven</groupId>
            <artifactId>maven-processor-plugin</artifactId>
            <version>3.3.1</version>
            <executions>
                <execution>
                    <id>process</id>
                    <goals>
                        <goal>process</goal>
                    </goals>
                    <phase>generate-sources</phase>
                </execution>
                <execution>
                    <id>process-test</id>
                    <goals>
                        <goal>process-test</goal>
                    </goals>
                    <phase>generate-test-sources</phase>
                    <configuration>
                        <sourceDirectory>./test</sourceDirectory>
                    </configuration>
                </execution>
            </executions>
            <dependencies>
                <dependency>
                    <groupId>rockpalm.it</groupId>
                    <artifactId>ic2-annotation-processor</artifactId>
                    <version>1.2.1-SNAPSHOT</version>
                </dependency>
            </dependencies>
        </plugin>

我的身材看起来像:

plugins {
  id "net.ltgt.apt" version "0.15"
  id 'net.ltgt.apt-eclipse' version '0.15' 
}
dependencies {
    annotationProcessor "rockpalm.it:ic2-annotation-processor:1.2.1-SNAPSHOT"
}
ext { 
    eclipseAptFolder = '.apt_generated'
    eclipseSettingsDir = file('.settings')
}

eclipse {
    jdt.file.withProperties { 
        it['org.eclipse.jdt.core.compiler.processAnnotations'] = 'enabled'
    }
}

tasks.eclipseJdt {
    doFirst {
        def aptPrefs = file("${eclipseSettingsDir}/org.eclipse.jdt.apt.core.prefs")
        aptPrefs.parentFile.mkdirs()

        aptPrefs.text = """\
    eclipse.preferences.version=1
    org.eclipse.jdt.apt.aptEnabled=true
    org.eclipse.jdt.apt.genSrcDir=${eclipseAptFolder}
    org.eclipse.jdt.apt.reconcileEnabled=true
    """.stripIndent()

        file('.factorypath').withWriter {
            new groovy.xml.MarkupBuilder(it).'factorypath' {
                project.configurations.annotationProcessor.each { dep->
                    factorypathentry(
                        kind:'EXTJAR',
                        id:dep.absolutePath,
                        enabled:true,
                        runInBatchMode:false
                    )
                }
            }
        }
    }
}

但是当我用格雷的时候

当我运行 gradle 构建时,我实际上可以在构建/生成/源代码/apt/main/...我的包/类,但由于它没有在eclipse中启用,所以我.apt_generated文件夹中没有任何内容。

EDIT我得到了gradle,用任务正确构建factorypath。eclipseJdt构建的一部分。gradle但是eclipse似乎没有在.apt生成的still中构建任何东西。如何调试eclipse gradle构建以查看发生了什么?

感谢任何帮助

共有1个答案

东门俊民
2023-03-14

您通常不需要插件示例中的eclipse配置闭包,只需使用:

plugins {
    id 'net.ltgt.apt' version '0.15'
    id 'net.ltgt.apt-eclipse' version '0.15' 
}

dependencies {
    annotationProcessor 'rockpalm.it:ic2-annotation-processor:1.2.1-SNAPSHOT'
}

执行gradle eclipse以设置出厂路径并在Eclipse中刷新项目。

 类似资料:
  • 有人知道如何在Android项目中启用Eclipse中的注释处理吗?我做了以下工作: 使用处理器和META-INF创建Java项目 如果我从文件夹中删除jar文件,Eclipse会报告项目中的错误,因为找不到注释处理器。但是,如果处理器就位并且配置了Eclipse,则不会进行处理 如果我在标准Java项目中使用相同的处理器,它就可以正常工作<有人能帮我吗?谢谢

  • 这是不得已的问题。我在互联网上搜索了所有可能出错的地方,但似乎没有任何工作。我已经创建了一个自定义注释,它应该生成一个资源文件,这些类如下所示: 和 我当前的项目结构是: 当我运行compile ANT任务时,被成功调用,但是从未被调用。我尝试创建处理器和META-INF文件夹的。jar文件,并将其添加到项目构建路径中,但没有成功。我尝试从命令行使用,但仍然一无所获。也许我误解了应该调用方法的时间

  • 我们使用Eclipse注释处理和Velocity代码生成框架。不久前,我们更新了所有代码和构建以使用Java11,但没有注意到代码生成不再有效。(我们暂时不需要更改任何生成的代码。) 在更新了各种jars并重建了Eclipse插件之后,它试图调用我们的代码生成处理器--但是它得到了类的NoClassDefFinder错误。这应该很容易解决,但是带有该类的jar已经在项目类路径和Eclipse注释F

  • 是否有人成功地遵循了GWTP样板生成的Eclipse注释处理方向?我遵循了Eclipse注释处理的说明,但无法导入GWTP注释包。 如果您能深入了解Eclipse注释处理或本文提到的其他Maven配置设置,我将不胜感激。 以下是GWTP样板生成的说明(页面底部): Eclipse注释处理 在Eclipse中,只要保存正在处理的文件,注释处理器就会启动,并且只增量更改所需的文件。另一种方法是使用Ec

  • 我已经通过使用Java 8的命令提示符编译成功地运行了用于类级保留注释的注释处理器。 但是,当我尝试在eclipse中配置注释处理器并尝试使用选项运行它时,它没有生效。 我已将包含自定义注释处理器类文件的Jar文件包含到

  • 我正在使用注释处理器来处理方法参数的注释。 用于参数的注释类型有一个注释@参数 现在,当注释处理器运行时,我想检查参数注释()是否有参数注释。我通过执行以下代码来实现这一点。 由于某种原因,arg始终为空。是否有注释未返回的原因?