使用maven为eclipse编译器设置Java 6注释处理配置

2024-04-05

为 Java 6 注释处理器设置 eclipse 项目编译器配置的最佳方法是什么?

我的解决方案是设置org.eclipse.jdt.apt.core.prefs and factorypath手动文件。这有点麻烦:

  • 在工厂路径文件中引用处理器 jar
  • 配置eclipse注释处理器输出目录(org.eclipse.jdt.apt.genSrcDir财产在org.eclipse.jdt.apt.core.prefs)
  • 添加 Eclipse 注释处理器输出目录作为源文件夹

一个问题是 eclipse 生成的源代码将使用 maven 进行编译。仅有的maven clean compile是可靠的,因为它删除了 eclipse 生成的源文件。 (Eclipse 和 javac 生成的源文件可能不同步。)

是否有更好的解决方案来配置 Maven,而无需 Eclipse 在 Maven 源路径生成源文件?

<project>
  <properties>
    <eclipse.generated.src>${project.build.directory}/eclipse</eclipse.generated.src>
  </properties>
  <build>
      <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>build-helper-maven-plugin</artifactId>
            <version>1.4</version>
            <executions>
                <execution>
                  <id>add-source</id>
                  <phase>generate-sources</phase>
                  <goals> <goal>add-source</goal> </goals>
                  <configuration>
                      <sources>
                        <source>${eclipse.generated.src}</source>
                      </sources>
                    </configuration>
              </execution>
            </executions>
          </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-eclipse-plugin</artifactId>
        <configuration>
          <additionalConfig>
            <file> <name>.factorypath</name>
        <content><![CDATA[<factorypath>
  <factorypathentry kind="VARJAR" id="M2_REPO/processor/processor.jar" enabled="true" runInBatchMode="false"/>
  </factorypath>
  ]]>      </content>
            </file>
            <file>
              <name>.settings/org.eclipse.jdt.apt.core.prefs</name>
        <content><![CDATA[
  eclipse.preferences.version=1
  org.eclipse.jdt.apt.aptEnabled=true
  org.eclipse.jdt.apt.genSrcDir=${eclipse.generated.src}
  org.eclipse.jdt.apt.reconcileEnabled=true
   ]]>     </content>
            </file>
          </additionalConfig>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

更新:您可以尝试使用apt-maven-插件 http://mojo.codehaus.org/apt-maven-plugin/。目前它提供了三个目标:

  • apt-进程 http://mojo.codehaus.org/apt-maven-plugin/process-mojo.html在项目源上执行 apt。
  • apt:测试过程 http://mojo.codehaus.org/apt-maven-plugin/test-process-mojo.html在项目测试源上执行 apt。
  • 适合:日食 http://mojo.codehaus.org/apt-maven-plugin/eclipse-mojo.html生成 Eclipse 文件以进行 apt 集成。

您可以将目标配置为作为构建的一部分运行,如下所示:

<build>
  ...
  <plugins>
    ...
    <plugin>
      <groupId>org.codehaus.mojo</groupId>
      <artifactId>apt-maven-plugin</artifactId>
      <version>1.0-alpha-2</version>
      <executions>
        <execution>
          <goals>
            <goal>process</goal>
            <goal>test-process</goal>
          </goals>
        </execution>
      </executions>
    </plugin>
    ...
  </plugins>
  ...
</build>

默认情况下,输出目录设置为${project.build.directory}/generated-sources/apt,

有一个打开吉拉 http://jira.codehaus.org/browse/MCOMPILER-75反对编译器插件添加对 Java 6 的 APT 支持,如果你想在未来的版本中看到这一点,你可以去投票。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用maven为eclipse编译器设置Java 6注释处理配置 的相关文章

  • 如何打印整个字符串池?

    我想打印包含文字的整个字符串池String使用添加的对象intern 就在垃圾收集之前 JDK有没有隐式的方法来进行这样的操作 我们如何检查字符串池 EDIT The comment suggests that there may be a
  • java.lang.Class: 在 java 程序中初始化 log4j 属性文件时出错

    我正在尝试使用 log4j 运行独立的 java 程序 但在调试时收到以下消息 控制台上没有 log4j 相关日志 log Logger 1343 java lang Class ERROR in 18b4aac2 有人可以建议这里出了什么
  • Java 创建浮雕(红/蓝图像)

    我正在编写一个 Java 游戏引擎 http victoryengine org http victoryengine org 并且我一直在尝试生成具有深度的 3D 图像 您可以使用那些红色 蓝色眼镜看到 我正在使用 Java2D 进行图形
  • 由于连接超时,无法通过 ImageIO.read(url) 获取图像

    下面的代码似乎总是失败 URL url new URL http userserve ak last fm serve 126 8636005 jpg Image img ImageIO read url System out printl
  • 如何从另一个xml文件动态更新xml文件?

    我想从另一个 xml 文件更新 xml 文件 我使用了一个 xml 文件 如下所示 one xml
  • 无法加载 jar 文件的主类

    我使用 Eclipse IDE 开发了一个应用程序 创建应用程序后 我以 jar 格式导出项目 当我尝试运行此 jar 文件时 出现错误 无法加载主类 请帮忙 当您将项目导出为 jar 时 请参阅此所以问题 https stackoverf
  • 有没有好的方法来解析用户代理字符串?

    我有一个Java接收模块User Agent来自最终用户浏览器的字符串的行为需要略有不同 具体取决于浏览器类型 浏览器版本甚至操作系统 例如 FireFox 7 0 Win7 Safari 3 2 iOS9 我明白了User Agent由于
  • Java 重写 hashCode() 得到 StackOverflowError

    所以我不太熟悉重写 hashCode 并且我似乎在 hashCode 方法中以某种方式进行了一些无限递归 这是我的场景 我有一个 DuplicateCache 类 它是一个缓存对象 用于检查系统中的重复对象 我有一个静态内部类 Duplic
  • 方法断点可能会大大减慢调试速度

    每当向方法声明行添加断点 在 Intellij IDEA 或 Android Studio 中 时 都会出现一个弹出窗口 方法断点可能会大大减慢调试速度 为什么会这样戏剧性地减慢调试速度 是我的问题吗 将断点放在函数的第一行有什么不同 Th
  • Android - 除了普通 SSL 证书之外还验证自签名证书

    我有一个通过 SSL 调用 Web 服务的 Android 应用程序 在生产中 我们将拥有由受信任的 CA 签名的普通 SSL 证书 但是 我们需要能够支持自签名证书 由我们自己的 CA 签名 我已经成功实施了接受自签名证书的建议解决方案
  • Spring Stomp over Websocket:流式传输大文件

    我的SockJs客户端在网页中 发送帧大小为16K的消息 消息大小限制决定了我可以传输的文件的最大大小 以下是我在文档中找到的内容 Configure the maximum size for an incoming sub protoco
  • 使用 Guava 联合两个 ImmutableEnumSets

    我想联合两个ImmutableEnumSets来自番石榴 这是我的尝试 public final class OurColors public enum Colors RED GREEN BLUE YELLOW PINK BLACK pub
  • Install4j:如何在安装结束时执行命令行 java -jar filename.jar

    在 Intall4j 中 在安装结束时 我只想通过执行如下命令行来初始化某些内容 java jar filename jar 我怎样才能归档这个任务install4j Thanks 将 运行可执行文件或批处理文件 操作添加到 安装屏幕 并设
  • 参数动态时如何构建 JPQL 查询?

    我想知道是否有一个好的解决方案来构建基于过滤器的 JPQL 查询 我的查询太 富有表现力 我无法使用 Criteria 就像是 query Select from Ent if parameter null query WHERE fiel
  • jmap - 组织和堆操作会给 jvm 带来开销吗?

    正如标题所述 需要多少开销jmap histo and jmap heap分别带到jvm 如果一个内存敏感的 Java 进程处于OutOfMemory 例如 大约 96 的堆已满 并且无法通过 full gc 清除 其中一项操作是否有可能将
  • 让JScrollPane控制多个组件

    对于我的应用程序 我正在设计一个脚本编辑器 目前我有一个JPanel其中包含另一个JPanel保存行号 位于左侧 以及JTextArea用于允许用户输入代码 位于右侧 目前 我已经实施了JScrollPane on the JTextAre
  • Apache Commons CLI:替代已弃用的 OptionBuilder?

    IntelliJ 显示此示例代码中不推荐使用 OptionBuilderhttp commons apache org proper commons cli usage html http commons apache org proper
  • ExceptionHandler 不适用于 Throwable

    我们的应用程序是基于 Spring MVC 的 REST 应用程序 我正在尝试使用 ExceptionHandler 注释来处理所有错误和异常 I have ExceptionHandler Throwable class public R
  • 从java中的字符串数组中删除空值

    java中如何从字符串数组中删除空值 String firstArray test1 test2 test4 我需要像这样没有 null 空 值的 firstArray String firstArray test1 test2 test4
  • 使用 eclipse IDE 配置 angularjs

    我想开始使用 AngularJs 和 Java Spring 进行开发 我使用 Eclipse 作为 IDE 我想配置我的 Eclipse 以使这些框架无缝工作 我知道我可能要求太多 但相信我 我已经做了很多研究 你们是我最后的选择 任何帮

随机推荐

  • 按属性对 XML 文件进行排序

    我有以下 XML 代码
  • 如何通过JSON的replacer函数对对象进行字符串化?

    这是我的代码 BAD a 2 b 1 c Nexus d Alligator e 5 f 1431807036 g 2 w 17 b 5 console log JSON stringify BAD a
  • 组图模式在 SPARQL 中如何工作

    首先 我不知道这是否真的称为组图模式 反正 请看看这个查询 select x y where x rdf type rs Recommendable union xd rs doesntexist y 有no rs doesntexist但
  • Paramiko:从公钥字符串创建 PKey

    我试图在低级别使用 SSH 协议 即我不想启动 shell 或任何东西 我只想传递数据 因此 我正在使用Paramiko的Transport http www lag net paramiko docs paramiko Transport
  • 乐谱库

    我是一名 Python 黑客 希望构建一个乐谱应用程序 我很擅长阅读 理解乐谱 弹钢琴多年 这是我完整的新手问题 是否有以数字方式表示笔记的标准 我不想重新发明任何轮子 给定一系列音符和持续时间 是否有一个库可以以乐谱格式显示这些内容 基本
  • 为什么我收到 422 错误代码?

    我正在发出 POST 请求 但除了 422 响应之外无法获得任何内容 Vue js 客户端代码 new Vue el app data form companyName street city state zip contactName p
  • iOS:Facebook 聊天头行为和动画

    这个问题可能有点过时了 但我一直在使用新的 iOS 版 Facebook 的 聊天头 功能 聊天头仅出现在应用程序中 并且想知道 Facebook 是如何实现这一点的 例如 他们如何处理聊天头的拖动动画 以及 当单击聊天头时 他们如何设法将
  • 在redux中间件中使用react-router进行重定向

    我创建了一个中间件来检查请求是否返回无效的访问响应 如果状态是 401 我想将用户重定向到登录页面 这是中间件代码 import React from react import push replace from react router
  • TPageControl 上的 TLinkLabel 背景

    我试图在 TPageControl 上使用 TLinkLabel 但找不到让它使用父级背景的方法 Image removed because the website doesn t exist any more and I can t fi
  • iOS 文本字段验证

    我需要一种方法来确保电话号码有 10 位数字 没有其他字符 即 并确保电子邮件地址是有效的电子邮件 格式正确 有没有任何库不能让我轻松做到这一点 这样我就不必编写正则表达式了 这将检查 UITextField 是否包含 10 位或更少的正确
  • 如何设置使用 ChartFactory.createBarChart 创建的 BarGraph 的 Y 轴范围

    我使用创建了一个条形图jfree chart ChartFactory使用下面的代码 我需要将Y轴的范围设置为0 100 如何设置最大值 import java io File import org jfree chart ChartFac
  • 在 Swift 中仅更改 AttributedText 的字体

    我在 IB 中创建了许多 UILabel 它们都有属性文本 每个标签的文本包含多行不同字体大小和颜色 在运行时 我希望能够仅更改这些标签的字体名称 而不更改现有的字体大小或颜色 我进行了研究 但找不到直接的方法来实现这一目标 有任何想法吗
  • 在现有 Firebase 项目目录中初始化 firebase CLI 功能

    我正在尝试将 托管 功能添加到已安装 Functions 的 Firebase 项目文件中 所以我想知道我是否可以使用 Firebase Init 来做到这一点 否则这将删除我现有的 firebase 功能 无论如何 我可以在不删除 Fir
  • Parallel.ForEach 和 DataTable - DataTable.NewRow() 不是线程安全的“读取”操作吗?

    我正在转换现有的应用程序以利用多个处理器 我有一些嵌套循环 并且我已将最内层循环转换为 Parallel Foreach 循环 在原始应用程序中 在最内层循环内 代码将调用DataTable NewRow 要实例化适当布局的新 DataRo
  • php oop 使用 ajax 登录失败

    我已经使用 php oops 和 ajax 作为登录按钮完成了登录页面 if isset result username 它以 Json 类型返回错误的详细信息 if isset result username 其返回成功的 Json 类型
  • 如何在 AuthenticationSuccessHandler 中检索会话范围的 bean?

    我有一个自定义的 AuthenticationSuccessHandler 我想要做的是在 onAuthenticationSuccess 方法中设置一些会话数据 为了存储会话数据 我想使用会话范围的 bean 它在任何控制器中都可以正常工
  • nginx + php5-fpm 中的错误 502

    我的主题有一些错误 服务器负载不高 CPU约15 内存有几GB 硬盘不忙 但错误 502 大约在 3 的情况下抛出 程序 Debian 6 nginx 0 7 62 php5 fpm 5 3 3 1 在nginx的error log中是这样
  • QThread.wait()函数有什么用?

    我和其他人一样偶然发现了这个问题 QThread 不会停止 不处理信号 https stackoverflow com questions 7432861 qthread wont stop does not process a signa
  • C 语言的完整 x86/x64 JIT 汇编器

    你知道类似的事情吗this http code google com p asmjit 但是可以嵌入到 C 程序中吗 一些选项 LibJIT http www gnu org software dotgnu GNU闪电 http www g
  • 使用maven为eclipse编译器设置Java 6注释处理配置

    为 Java 6 注释处理器设置 eclipse 项目编译器配置的最佳方法是什么 我的解决方案是设置org eclipse jdt apt core prefs and factorypath手动文件 这有点麻烦 在工厂路径文件中引用处理器