OSX上的Java7显示';应为标识符';多捕获错误
在我的机器上,由于某种原因,我无法编译具有多重捕获的类。这应该在Java7中工作 我使用的是OSX小牛OSX上的Java7显示';应为标识符';多捕获错误,java,ant,osx-mavericks,Java,Ant,Osx Mavericks,在我的机器上,由于某种原因,我无法编译具有多重捕获的类。这应该在Java7中工作 我使用的是OSX小牛 .bash\u profile已导出JAVA\u HOME=$(/usr/libexec/JAVA\u HOME-v1.7) 从命令行 java -version java version "1.7.0_79" Java(TM) SE Runtime Environment (build 1.7.0_79-b15) Java HotSpot(TM) 64-Bit Server VM (b
.bash\u profile
已导出JAVA\u HOME=$(/usr/libexec/JAVA\u HOME-v1.7)
从命令行
java -version
java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)
但是,当从命令行使用ant
时,我遇到了这个错误
<identifier> expected
[javac] } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException | NoSuchMethodException | SecurityException e) {
这是你的电话号码
try {
super.getClass().getDeclaredMethod("updatePartItems",
IBasketItem.class).invoke(this, item);
} catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException | NoSuchMethodException | SecurityException e) {
log.error("Method updatePartItems is not available on " + this.getClass());
}
以下是我的路径:
todd@tpurcell-mac:echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/Cellar/rabbitmq/3.2.4/ebin:/usr/local/Cellar/rabbitmq/3.2.4/sbin:/usr/local/MacGPG2/bin:/bin:/usr/local/Cellar/git/1.9.1/bin::/marketlive/tools/apache-ant-1.7.1/bin:/usr/local/Cellar/git/1.9.1/bin:
我试图重新安装最新的1.7JDK,但似乎找不到解决这个问题的方法 ant使用的Java版本是什么?确保它没有试图编译到早期版本的ADPROGRAMER,我如何检查它。我在bash_配置文件中设置了java_主页。我假设所有的东西都会接受这个变量。如何测试ant是否正在使用我的java|U home?编译器错误是打印出来的,而不是抛出的。对于测试如何编译某些内容(已经是字节码):javap-verbose my.class | grep major您的ant文件中是否有类似的内容:如果有,它的目标是1.5兼容性。