0

strong texti 有一个非常简单的基于 eclipse 3.8 的 rcp 应用程序,带有一个 .aj 文件。我还安装了 AJDT 2.2.1,并且在我的 build.properties 中有以下四个条目:

javacSource=1.6
javacTarget=1.6

compilerAdapter=org.eclipse.ajdt.core.ant.AJDT_AjcCompilerAdapter
sourceFileExtensions=*.java, *.aj

我正在通过 Ant 使用无头构建方法,在使用 java 1.6 时,它一直像魅力、AJDT 等一样工作。但是,一旦我从 java 1.6 升级到 1.7,并将前面提到的两个 build.properties 条目——javacSource 和 javacTarget——值从 1.6 更改为 1.7,我得到了大量的构建错误,所有这些都带有以下后缀:

... are only available if source level is 1.5 or greater

将 build.properties 的javacSource设置回 1.6,同时将javacTarget 设置为 1.7 有效。或者如果我要从我的 build.properties 中注释掉两个特定于 AJDT 的条目,同时将javacSourcejavacTarget值保留为 1.7。构建也完成得很好。所以我的猜测是 AJDT 编译器在某种程度上是罪魁祸首。问题是为什么以及可以做些什么来解决它。

感谢您的时间!!!

4

1 回答 1

1

这听起来像是两件事之一:

  1. 您安装的 AJDT 中没有与 Java 1.7 兼容的 AspectJ。您正在构建什么 AspectJ 版本?请注意,此 aspectj 版本可能与您的目标平台中的版本不同。
  2. 您没有以 AspectJ 可以识别的方式正确指定 Java 源/目标版本。您如何指定 Java 源/目标版本?
于 2012-12-02T16:40:56.920 回答