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

maven中的注释处理器输出

贡和裕
2023-03-14

我使用JSR 269作为编译过程中分析代码的一种方式,如果需要的话,它会失败。我在maven中显示注释处理器的输出时遇到了麻烦(Ant确实显示输出),我使用javax.annotation.processing.Messager来显示警告和错误,但是在maven中我看不到它的输出。(我知道它运行,因为它生成了应该生成的代码)。有什么想法吗?

共有2个答案

廉志强
2023-03-14

您可以通过在maven编译器插件配置中启用showWarnings标志来实现这一点:

<build>
  <plugins>
    <plugin>
       <groupId>org.apache.maven.plugins</groupId>
       <artifactId>maven-compiler-plugin</artifactId>
       <configuration>
         <showWarnings>true</showWarnings>
       </configuration>
    </plugin>
  </plugins>
</build>

另请参见https://github.com/Cosium/annotation-processor-logger#enable-所有日志记录级别

苏宏逸
2023-03-14

我认为您在编译器插件-MCOMPILER-66中遇到了Maven错误或更好的错误。当涉及到注释处理时,编译器插件有几个问题,例如MCOMPILER-62。实际上,最好的选择imo是禁用编译器插件的注释处理并使用maven处理器插件。在这篇博文中,您可以看到如何使用它。它看起来像这样:

   <plugins>
    <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
            <source>1.6</source>
            <target>1.6</target>
            <compilerArgument>-proc:none</compilerArgument>
        </configuration>
    </plugin>
    <plugin>
        <groupId>org.bsc.maven</groupId>
        <artifactId>maven-processor-plugin</artifactId>
        <version>1.3.7</version>
        <executions>
            <execution>
                <id>process</id>
                <goals>
                    <goal>process</goal>
                </goals>
                <phase>process-sources</phase>
            </execution>
        </executions>
        <dependencies>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-jpamodelgen</artifactId>
                <version>1.1.0.Final</version>
                <scope>compile</scope>
            </dependency>
        </dependencies>
    </plugin>

另请注意注释处理器依赖项如何很好地仅限于插件。

 类似资料:
  • 问题内容: 我使用JSR 269作为一种在编译过程中分析代码并在需要时使代码失败的方法。我无法在maven中显示注释处理器的输出(Ant会显示输出),我正在使用javax.annotation.processing.Messager来显示警告和错误,但是在maven中我看不到它的输出。(我确实知道它可以运行,因为它会生成应有的代码)。有任何想法吗? 问题答案: 我认为您正在遇到Maven错误,或者

  • http://maven.apache.org/xsd/maven-4.0.0.xsd" 尊敬的各位:, 我需要一些帮助来实现我的项目中的mapstruct。我已经有一些注释处理器需要在pom中命名。maven的xml

  • 我想从kotlin实体类生成jpa querydsl文件。 在线上有一个很好的例子,说明如何使用gradle生成dsl文件https://github.com/JetBrains/kotlin-examples/blob/master/gradle/kotlin-querydsl/build.gradle. 然而,我试图在maven中实现它,但没有运气。我目前的pom在下面。有人知道问题可能是什么

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

  • 需要注释处理器的帮助。我创建了一个简单的注释处理器,它使用@autoservice注释来检查注释的字段是否为最终字段。但它没有显示任何编译时错误。这是我的配置 注释: 注释处理器: pom文件: 测试文件:

  • 我有下面的课程。两个注释(AnnotA和AnnotB),一个类的子类。java'(带@AnnotA)及其“父”基。java'(带有@AnnotB)。 编译子对象时。java,我的注释处理器报告AnnotA,但它不报告在Base中找到的注释(AnnotB)。JAVA 安诺塔。JAVA 阿诺特。JAVA 基础JAVA 小孩JAVA MyProc。JAVA 这是编译过程及其输出,正如您所看到的,没有关于