为 maven-processor-plugin 编写注释处理器

2023-11-24

我有兴趣为 maven-processor-plugin 编写一个注释处理器。我对 Maven 比较陌生。

处理器 Java 源代码应该位于项目路径中的哪个位置(例如:src/main/java/...),以便正确编译它,但最终不会成为我的工件 JAR 文件的一部分?


最简单的方法是将注释处理器保留在作为依赖项包含的单独项目中。

如果这不适合您,请使用此配置

编译器插件:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>2.3.2</version>
    <configuration>
        <source>1.5</source>
        <target>1.5</target>
    </configuration>
    <inherited>true</inherited>
    <executions>
        <execution>
            <id>default-compile</id>
            <inherited>true</inherited>
            <configuration>
                <!-- limit first compilation run to processor -->
                <includes>path/to/processor</includes>
            </configuration>
        </execution>
        <execution>
            <id>after-processing</id>
            <phase>process-classes</phase>
            <goals>
                <goal>compile</goal>
            </goals>
            <inherited>false</inherited>
            <configuration>
                <excludes>path/to/processor</excludes>
            </configuration>
        </execution>
    </executions>
</plugin>

处理器插件:

<plugin>
    <groupId>org.bsc.maven</groupId>
    <artifactId>maven-processor-plugin</artifactId>
    <executions>
        <execution>
            <id>process</id>
            <goals>
                <goal>process</goal>
            </goals>
            <phase>compile</phase>
            <configuration>
                <processors>
                    <processor>com.yourcompany.YourProcessor</processor>
                </processors>
            </configuration>
        </execution>
    </executions>
</plugin>

(请注意,这必须在两次编译运行之间执行,因此必须将此代码放在 pom.xml 中after上面的maven-compiler-plugin配置)

罐子插件:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <version>2.3.1</version>
    <configuration>
        <excludes>path/to/processor</excludes>
    </configuration>
    <inherited>true</inherited>
</plugin>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为 maven-processor-plugin 编写注释处理器 的相关文章

  • 在内存中使用 byte[] 创建 zip 文件。 Zip 文件总是损坏

    我创建的 zip 文件有问题 我正在使用 Java 7 我尝试从字节数组创建一个 zip 文件 其中包含两个或多个 Excel 文件 应用程序始终完成 没有任何异常 所以 我以为一切都好 当我尝试打开 zip 文件后 Windows 7 出
  • .properties 中的通配符

    是否存在任何方法 我可以将通配符添加到属性文件中 并且具有所有含义 例如a b c d lalalala 或为所有以结尾的内容设置一个正则表达式a b c anything 普通的 Java 属性文件无法处理这个问题 不 请记住 它实际上是
  • 动态选择端口号?

    在 Java 中 我需要获取端口号以在同一程序的多个实例之间进行通信 现在 我可以简单地选择一些固定的数字并使用它 但我想知道是否有一种方法可以动态选择端口号 这样我就不必打扰我的用户设置端口号 这是我的一个想法 其工作原理如下 有一个固定
  • 构建/部署 EJB .jar 及其依赖项

    我是 Java EE 新手 我使用 Maven Eclipse 和 jBoss WildFly 我有一个war项目 当我构建项目时 它的所有依赖项都打包在war文件输入WEB INF lib 现在我正在尝试创建一个ejb项目 我有
  • HSQL - 识别打开连接的数量

    我正在使用嵌入式 HSQL 数据库服务器 有什么方法可以识别活动打开连接的数量吗 Yes SELECT COUNT FROM INFORMATION SCHEMA SYSTEM SESSIONS
  • 如何获取之前的URL?

    我需要调用我的网络应用程序的 URL 例如 如果有一个从 stackoverflow com 到我的网站 foo com 的链接 我需要 Web 应用程序 托管 bean 中的 stackoverflow 链接 感谢所有帮助 谢谢 并不总是
  • 在接口中使用默认方法是否违反接口隔离原则?

    我正在学习 SOLID 原则 ISP 指出 客户端不应被迫依赖于他们所使用的接口 不使用 在接口中使用默认方法是否违反了这个原则 我见过类似的问题 但我在这里发布了一个示例 以便更清楚地了解我的示例是否违反了 ISP 假设我有这个例子 pu
  • Java 公历日历更改时区

    我正在尝试设置 HOUR OF DAY 字段并更改 GregorianCalendar 日期对象的时区 GregorianCalendar date new GregorianCalendar TimeZone getTimeZone GM
  • 帮助将图像从 Servlet 获取到 JSP 页面 [重复]

    这个问题在这里已经有答案了 我目前必须生成一个显示字符串文本的图像 我需要在 Servlet 上制作此图像 然后以某种方式将图像传递到 JSP 页面 以便它可以显示它 我试图避免保存图像 而是以某种方式将图像流式传输到 JSP 自从我开始寻
  • jdbc mysql loginTimeout 不起作用

    有人可以解释一下为什么下面的程序在 3 秒后超时 因为我将其设置为在 3 秒后超时 12秒 我特意关闭了mysql服务器来测试mysql服务器无法访问的这种场景 import java sql Connection import java
  • 当 OnFocusChangeListener 应用于包装的 EditText 时,TextInputLayout 没有动画

    不能比标题说得更清楚了 我有一个由文本输入布局包裹的 EditText 我试图在 EditText 失去焦点时触发一个事件 但是 一旦应用了事件侦听器 TextInputLayout 就不再对文本进行动画处理 它只是位于 editText
  • tomcat 中受密码保护的应用程序

    我正在使用 JSP Servlet 开发一个Web应用程序 并且我使用了Tomcat 7 0 33 as a web container 所以我的要求是tomcat中的每个应用程序都会password像受保护的manager applica
  • logcat 中 mSecurityInputMethodService 为 null

    我写了一点android应显示智能手机当前位置 最后已知位置 的应用程序 尽管我复制了示例代码 并尝试了其他几种解决方案 但似乎每次都有相同的错误 我的应用程序由一个按钮组成 按下按钮应该log经度和纬度 但仅对数 mSecurityInp
  • 关键字“table”附近的语法不正确,无法提取结果集

    我使用 SQL Server 创建了一个项目 其中包含以下文件 UserDAO java public class UserDAO private static SessionFactory sessionFactory static se
  • Android:无法使用 DbHelper 和 Contract 类将数据插入 SQLite

    public class Main2Activity extends AppCompatActivity private EditText editText1 editText2 editText3 editText4 private Bu
  • Opencv Java 灰度

    我编写了以下程序 尝试从彩色转换为灰度 Mat newImage Imgcodecs imread q1 jpg Mat image new Mat new Size newImage cols newImage rows CvType C
  • 包 javax.el 不存在

    我正在使用 jre6 eclipse 并导入 javax el 错误 包 javax el 不存在 javac 导入 javax el 过来 这不应该是java的一部分吗 谁能告诉我为什么会这样 谢谢 米 EL 统一表达语言 是 Java
  • 使用反射覆盖最终静态字段是否有限制?

    在我的一些单元测试中 我在最终静态字段上的反射中遇到了奇怪的行为 下面是说明我的问题的示例 我有一个基本的 Singleton 类 其中包含一个 Integer public class BasicHolder private static
  • Spring Rest 和 Jsonp

    我正在尝试让我的 Spring Rest 控制器返回jsonp但我没有快乐 如果我想返回 json 但我有返回的要求 完全相同的代码可以正常工作jsonp我添加了一个转换器 我在网上找到了用于执行 jsonp 转换的源代码 我正在使用 Sp
  • Java中super关键字的范围和使用

    为什么无法使用 super 关键字访问父类变量 使用以下代码 输出为 feline cougar c c class Feline public String type f public Feline System out print fe

随机推荐

  • Kafka I/O 错误 java.io.EOFException: null

    我正在使用 Kafka 0 8 2 0 Scala 2 10 在我的日志文件中 我间歇性地看到以下消息 这似乎是一个连接问题 但我正在本地主机中运行这两个问题 这是无害的警告消息还是我应该采取措施来避免它 2015 10 30 14 12
  • 从图表系列获取主题颜色信息

    我有一个使用一种颜色的图表系列 它可以是msoThemeColorAccent lt gt 或任何其他 用于标记线 另一种颜色用于标记填充 可以是msoThemeColorAccent lt gt 打火机 x 或任何其他 并且没有线条 我想
  • find 命令查找文件并将它们连接起来

    我正在尝试查找所有类型的文件 gz and cat他们到total gz我想我已经很接近这一点了 这是我用来列出所有的命令 gzfiles find home downloaded maxdepth 3 type d name exec b
  • Toast:在 Android 中集成 Google Plus 时发生内部错误

    我正在将 Google Plus 集成到我的 Android 应用程序中 我已经在 Google API 控制台中创建了该项目 我创建了 OAuth 客户端 ID 并仔细检查了包名称和密钥库 SHA1 但两者都是正确的 但我仍然得到Inte
  • Quartz 中每 50 秒执行一次 Cron 表达式

    我每 50 秒使用 Quartz 和 cron 表达式运行我的作业 Cron Expression 0 50 发生的情况是我的工作以秒为单位运行 50 60 50 60 而且不是每 50 秒一次 并且不在第二个 0 处运行 从 0 开始每
  • 获取 JSON 对象的大小

    我有一个由 AJAX 请求返回的 JSON 对象 但我遇到了一些问题 length因为它不断返回undefined 只是想知道我是否正确使用它 console log data length console log data phones
  • Apache Velocity:是否有一种标准方法可以从命令行验证模板的正确性?

    我们的网站使用阿帕奇速度模板语言 我们的内容管理系统已经检查所有生成的 XML 文档的格式是否良好 我们被要求在将文件推送到实时站点之前检查文档以捕获 Velocity 语法错误 是否有一种标准方法可以从命令行验证 Velocity 模板的
  • 损失与准确率之间的关系

    在训练 CNN 模型时 实际上有可能在每个时期减少损失并降低准确度吗 我在训练时得到以下结果 有人可以解释发生这种情况的可能原因吗 至少有 5 个原因可能导致此类行为 异常值 假设您有 10 张完全相同的图像 其中 9 张属于类别A一个属于
  • 所有 Python 类都应该扩展对象吗? [复制]

    这个问题在这里已经有答案了 我发现以下两项都有效 class Foo def a self print hello class Foo object def a self print hello 所有 Python 类都应该扩展对象吗 不扩
  • 传递给宏的变量在错误的命名空间中解析?

    The Noir macro defpage给我带来了一点麻烦 我正在尝试构建与此类似的调用 defpage post some url data some stuff 但是 不要使用关键字 post我想使用一个变量 如下所示 def my
  • 存储过程版本控制

    如何管理存储过程的修订 我们在 SQL Server 2005 上有一个 BI 解决方案 包含数百个存储过程 将这些内容导入 Subversion 的好方法是什么 您推荐使用哪些工具将存储过程编写为文件 毫无疑问 您可以购买许多现成的产品
  • HTTP 重定向绑定 SAML 请求

    假设执行 SP init SSO 使用 HTTP Redirect Binding 而不是 HTTP POST Binding 并且需要签名的 AuthnRequest 这意味着在 URL 中包含 SAMLRequest Q1 我需要在 U
  • 目录在 github 上显示为灰色文件夹,但不跟踪其内容。为什么?

    我有一个目录 ui kit 它在 github 上显示为灰色文件夹 它不可点击 这是 gitignore的全部内容 Fleetwit docs uploads env prj pui Logs logs log Node node modu
  • R 中“str”报告的第二列是什么?该列中的“atomic”是什么意思?

    Using str survey OM 我的数据框上表明我的所有数值数据都是atomic 如果我使用class survey OM perc OM 它返回numeric 我一直以为第二栏str显示了数据的类别 但看起来并不那么简单 所以我的
  • 如何设置windbg自动下载所有符号?

    一般来说 我对编程和调试很陌生 我花了很多时间离线 没有互联网 并且正在阅读 Windows 调试内部 一书 但时不时地 我发现自己需要一个 pdb 文件 我做了一些挖掘 发现了这个网址 http msdn microsoft com en
  • 跨域 AJAX 预检失败来源检查

    这似乎不起作用 ajax url http localhost 3000 foo json data foo bar headers HTTP X CUSTOMHEADER foobar xhrFields withCredentials
  • 对本地文件系统的 AJAX 请求在 Chrome 中不起作用? [复制]

    这个问题在这里已经有答案了 我正在努力使用 jQuery 从 XML 动态创建 UI 我的 jQuery 在 Firefox 中工作 但在 Chrome 中不起作用 它给了我这个控制台错误 仅协议方案支持跨源请求 http data chr
  • 从网页程序获取所有图像|爪哇

    目前我需要一个给定 URL 的程序 返回网页上所有图像的列表 ie 标志 png 图库1 jpg 测试 gif 在我尝试编写代码之前是否有可用的开源软件 语言应该是java 谢谢 菲利普 只需使用一个简单的 HTML 解析器 like jT
  • 禁用“Owl carousel”中特定元素(项目)的拖动 - jquery

    我使用 OWL Carousel jQuery 插件 http www owlgraphic com owlcarousel 在我的小项目中 我创建了可通过此插件拖动的小脚本 现在我想禁用特定元素 项目 中的拖动 但我不知道该怎么做 HTM
  • 为 maven-processor-plugin 编写注释处理器

    我有兴趣为 maven processor plugin 编写一个注释处理器 我对 Maven 比较陌生 处理器 Java 源代码应该位于项目路径中的哪个位置 例如 src main java 以便正确编译它 但最终不会成为我的工件 JAR