Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用maven为eclipse编译器设置Java 6注释处理配置_Java_Eclipse_Maven 2_Annotations_Javac - Fatal编程技术网

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

使用maven为eclipse编译器设置Java 6注释处理配置,java,eclipse,maven-2,annotations,javac,Java,Eclipse,Maven 2,Annotations,Javac,为Java6注释处理器设置eclipse项目编译器配置的最佳方法是什么 我的解决方案是手动设置org.eclipse.jdt.apt.core.prefs和factorypath文件。这有点麻烦: 在factorypath文件中引用处理器jar 配置eclipse注释处理器输出目录(org.eclipse.jdt.apt.genSrcDir中的属性org.eclipse.jdt.apt.core.prefs) 将eclipse注释处理器输出目录添加为源文件夹 一个问题是eclipse生成的源

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

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

  • 在factorypath文件中引用处理器jar
  • 配置eclipse注释处理器输出目录
    (org.eclipse.jdt.apt.genSrcDir
    中的属性
    org.eclipse.jdt.apt.core.prefs
  • 将eclipse注释处理器输出目录添加为源文件夹
一个问题是eclipse生成的源代码将使用maven编译。只有
maven clean compile
是可靠的,因为它删除了eclipse生成的源文件。(Eclipse和javac生成的源文件可能不同步。)

是否有更好的解决方案来配置maven,而不在maven源路径上使用eclipse生成的源文件


${project.build.directory}/eclipse
org.codehaus.mojo
构建助手maven插件
1.4
添加源
生成源
添加源
${eclipse.generated.src}
org.apache.maven.plugins
maven eclipse插件
.工厂路径
]]>      
.settings/org.eclipse.jdt.apt.core.prefs

更新:您可以尝试使用。它目前提供了三个目标:

  • 对项目源执行apt
  • 在项目测试源上执行apt
  • 生成用于apt集成的Eclipse文件
您可以将目标配置为作为构建的一部分运行,如下所示:


...
...
org.codehaus.mojo
如果您希望在将来的版本中看到这一点,您可以使用编译器插件添加对Java 6的APT支持,并投票支持它。

我使用的wich更易于配置。您可以通过两种方式使用它:

  • 在编译期间生成源代码(下面的配置)
  • 将源“手动”生成到src/main/generated,并将其保存在SCM中

org.bsc.maven
maven处理器插件
过程
过程
生成源
-encoding${project.build.sourceEncoding}
org.bsc.maven
maven处理器插件
工艺试验
工艺试验
生成测试源
-encoding${project.build.sourceEncoding}
org.apache.maven.plugins
maven编译器插件
2.3.1
1.6
1.6
${project.build.sourceEncoding}
-过程:无

EclipseJuno中有一个更简单的解决方案(我不确定以前的版本)。在Preferences/Maven/Annotation Processing中,注释处理有三种模式。它在默认情况下是禁用的,但我已经测试了其他两个选项,对我来说非常有吸引力。这样,您就不需要为每个项目配置APT处理或修改其pom.xml。

它不再打开,而是在2.2中实现的。我相信此功能不是核心Eclipse M2E的一部分,而是由安装和安装后提供的。